本記事では、Perlワンライナーを使用し、テキストファイルを上書き編集する方法を紹介します。
実現したいこと
テキストファイル内の “quick” を “fast” に置換して上書き保存します。
処理前
The quick brown fox jumps over the lazy dog.
The quick brown fox is quick.
処理後
The fast brown fox jumps over the lazy dog.
The fast brown fox is fast.
サンプルコード
以下は、ファイルの内容を置換し上書き保存するワンライナーです。
perl -pe "s/quick/fast/g" -i.bak filename.txt
- -p:各行を処理し、処理結果を自動的に出力(表示)します。
- -e:直後に続く文字列をPerlプログラムとして実行します。
- s/quick/fast/g :”quick” を “fast” に置換する処理です。
- -i.bak:ファイルをその場で編集します(インプレース編集)。また、.bak指定により、編集前のファイルが *.bak の形式でバックアップ保存されます。
まとめ
本記事では、Perlワンライナーを使用し、テキストファイルを上書き編集する方法を紹介しました。ファイルの内容を一部置換する処理は、Perlでよく行う処理と思いますので、ぜひご活用ください。