shellscriptでperl

shellscript内でperlの置換などを走らせると簡単に書けます。
sedとかawkもあると思いますが
perl勉強も兼ねて、perlを使ってみようと。
まずperlオプション

あとに続く文字列をperlのプログラムと解釈

perl -e


標準入力から読み取ったものを処理

perl -n

標準入力から読み取り最後に標準出力

perl -p

ちょっと省略しすぎだと思うんですが、理解があまいため
おまじないのように

perl -pe

って書いてます。

置換は

perl -pe 's/before/after/g'

で置換されたものが出力

ファイルに書き出す場合は

perl -i.back -pe 's/before/after/g' fileName

でバックアップファイルfileName.backを取りつつ、fileNameに書き出し。

shellscriptの変数を渡す場合

HOGE="hogehoge"

cat file.txt | perl -i.back -e "s/xxx/$HOGE/g" file.txt

これで$HOGEが展開され、変数HOGEの値で置換できる。

と簡単にできちゃうので置換の際にはどんどん使っていこうと思った