読者です 読者をやめる 読者になる 読者になる

hotoolong's blog

Railsやvimや気になったことを綴ってます

exコマンドで置換処理

command

以前では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 で結合するといろいろできそうです。