よく忘れるのでメモ
↓は普通の使い方
perl -e 'print "hello"'
↓test.txtの中身を表示 -nオプションは
こんな感じの意味
perl -ne 'print' test.txt
while (<>) {
... # your program goes here
}
↓test.txtの中身を表示 -pオプションは
-nの最後にプリント文をかます様なイメージ
perl -pe '' test.txt
while (<>) {
... # your program goes here
print;
}
ライン処理を追加する(print文の後に改行+<>後にchmop)
perl -lpe '' test.txt
-iオプションは対象のファイルを上書きする
注意するのは-iはその後に変更前のファイル名を取るので
まとめないこと(-ipleは駄目)
上がtest.txtの頭に行番号を付加する
下が変更前のtest.txtをtest.txt.backとして残す
perl -i -ple 's/^(.*$)/$.$1/' test.txt
perl -i.back -ple 's/^(.*)/$. \: $1/' test.txt
参考リンク