hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

exコマンドで置換処理

以前ではvimなんて本当に基本的なコマンドしか使えてなかったのですが、
最近いろいろ覚えてきました。
もっとvimをマスターしたいです。

今日はvimの話ではないのですが、
ファイルのデータを置換するのに、sedコマンドを使うのかと思うのですが、
ファイルに直接処理するためにexコマンドが便利だったので備忘録です。

sedコマンドの場合

sed -e 's/AAAA/BBBB/g' AAAA.txt > BBBB.txt
sed -e 's/BBBB/CCCC/g' BBBB.txt > CCCC.txt

exコマンドの場合

ex -s +'%s/AAAA/BBBB/g' +'%s/BBBB/CCCC/g' +'wq' AAAA.txt

1ファイルに対して複数の置換処理を繰り返す場合などは+プラスで結合してつかえるので便利ですね。
あと、シェルなどに組み込んで使えます。
例えば、findした結果に-exec で結合するといろいろできそうです。