開発環境
- OS X Lion - Apple(OS)
- BBEdit(Text Editor)
- プログラミング言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の9章(正規表現によるテキスト処理)、9.6(練習問題)4を解いてみる。
その他参考書籍
4.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; $^I = ".bak"; while(<>){ $_ .= "## Copyright (C) 2013 by kamimura\n" if /^#!/; print $_; }
入出力結果(Terminal)
$ ls *.pl hello_world.pl sample.pl $ cat *.pl #!/usr/bin/env perl use strict; use warnings; use utf8; print "Hello, World!\n"; #!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; $^I = ".bak"; while(<>){ $_ .= "## Copyright (C) 2013 by kamimura\n" if /^#!/; print $_; } $ ./sample.pl *.pl $ ls *.pl *.pl.bak hello_world.pl sample.pl hello_world.pl.bak sample.pl.bak $ cat *.pl *.pl.bak #!/usr/bin/env perl ## Copyright (C) 2013 by kamimura use strict; use warnings; use utf8; print "Hello, World!\n"; #!/usr/bin/env perl ## Copyright (C) 2013 by kamimura use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; $^I = ".bak"; while(<>){ $_ .= "## Copyright (C) 2013 by kamimura\n" if /^#!/; print $_; } #!/usr/bin/env perl use strict; use warnings; use utf8; print "Hello, World!\n"; #!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; $^I = ".bak"; while(<>){ $_ .= "## Copyright (C) 2013 by kamimura\n" if /^#!/; print $_; } $
pythonの場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import os, re, sys for fname in sys.argv[1:]: name = "{0}.bak".format(fname) os.rename(fname, name) with open(name, 'r') as in_f: with open(fname, 'w') as out_f: for line in in_f: if re.search("^#!", line): line += "## Copyright © 2013 by kamimura\n" out_f.write(line)
入出力結果(Terminal)
$ ls *.py sample.py test.py $ cat *.py #!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import os, re, sys for fname in sys.argv[1:]: name = "{0}.bak".format(fname) os.rename(fname, name) with open(name, 'r') as in_f: with open(fname, 'w') as out_f: for line in in_f: if re.search("^#!", line): line += "## Copyright © 2013 by kamimura\n" out_f.write(line) #!/usr/bin/env python3.3 #-*- coding: utf-8 -*- print("Hello, World!") $ ./sample.py sample.py test.py $ ls *.py *.py.bak sample.py sample.py.bak test.py test.py.bak $ cat *.py *.py.bak #!/usr/bin/env python3.3 ## Copyright © 2013 by kamimura #-*- coding: utf-8 -*- import os, re, sys for fname in sys.argv[1:]: name = "{0}.bak".format(fname) os.rename(fname, name) with open(name, 'r') as in_f: with open(fname, 'w') as out_f: for line in in_f: if re.search("^#!", line): line += "## Copyright © 2013 by kamimura\n" out_f.write(line) #!/usr/bin/env python3.3 ## Copyright © 2013 by kamimura #-*- coding: utf-8 -*- print("Hello, World!") #!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import os, re, sys for fname in sys.argv[1:]: name = "{0}.bak".format(fname) os.rename(fname, name) with open(name, 'r') as in_f: with open(fname, 'w') as out_f: for line in in_f: if re.search("^#!", line): line += "## Copyright © 2013 by kamimura\n" out_f.write(line) #!/usr/bin/env python3.3 #-*- coding: utf-8 -*- print("Hello, World!") $
0 コメント:
コメントを投稿