grep
多くのファイル内の文字列を検索するコマンドを使用しています。「検索と置換」に似たものはありますか?
答え1
あなたが探しているのはsed
コマンド。たとえば、現在のディレクトリ内のすべてのテキスト ファイルで「dog」を「cat」に置き換えるには、次のようにします。
sed -i 's/dog/cat/' *.txt
答え2
sed が思い浮かびます。例:
sed s/cat/dog/ <input >output
これは、行内で cat を検索し、ファイル入力内のその場所に dog を配置して、ファイル出力に書き込みます。
答え3
sed
は適切なツールですが、代わりに、ex
次のコマンドを使用することもできますvim
。
vim -c 'args <files> | argdo %s/cat/dog/g | x'
<files>
置換を行うファイルまたはパターンのリストです。
答え4
Vim を Ex モードで使用できます:
for b in *.txt
do
ex -sc '%s/OLD/NEW/g|x' "$b"
done
%
すべての行を選択s
代わりのg
各行のすべてのインスタンスを置換するx
保存して閉じます