findとsedを使用して複数のファイルの文字列を置き換える

findとsedを使用して複数のファイルの文字列を置き換える

だから私は、ディレクトリ内の文字列のすべてのインスタンスを再帰的に置き換えるには(.java拡張ファイルのみ)、次を使用する必要があるという結論に達しました。

find . -type f -name "*.java" -exec sed -i 's/original/result/g' {} +

しかし、置き換えたい文字列にが含まれている場合はどうすればよいですか/

/*Comment*/たとえば、文字列をいくつかの一般的な単語に置き換えたい場合は、sedが正しく機能するためにどの区切り文字を使用する必要がありますか?

ベストアンサー1

@vesa-karjalainenが提案しただけでなく、sedすべての区切り文字を使用することもできます。perl

find . -type f -name "*.java" -exec sed -i 's:original:result:g' {} +

おすすめ記事