再帰的にテキストファイルで単語を検索して置換する

再帰的にテキストファイルで単語を検索して置換する

このフォルダ内には、多くのテキストファイルを含むフォルダツリーがあります。これらのファイルには、同じ名前 "log.txt"と同じ形式があります。たとえば、各ファイルに次のような複数行を表示できます。

date
name
. 
.
.

findコマンドを使用してこのフォルダツリーですべてのテキストファイル「log.txt」を見つけて、各テキストファイルで「date」という単語を「dating」という単語に置き換えるにはどうすればよいですか。

ベストアンサー1

現在ツリーのルートにあるとします(そうでない場合は、「.」をディレクトリ名に置き換えます)。 「log.txt」を「*.txt」または必要に応じて置き換えることができます。

find . -type f -name 'log.txt' -exec sed -i 's/date/dating/g' {} \;

おすすめ記事