一致するすべてのファイルにsedを使用する方法は?

一致するすべてのファイルにsedを使用する方法は?

出力で sed を実行しようとしています。find | grep \.ext$
ただし、sed には入力ファイルと出力ファイルが必要です。
出力行を変数に保存するか、sedに渡すにはどうすればよいですか?

ベストアンサー1

本当でもsedそうでもない必要入力ファイル。

Sedは、入力ストリーム(ファイル)で基本的なテキスト変換を実行するために使用されるストリームエディタです。またはパイプから入力)。 (渡す)

しかし、あなたの場合は、ストリームではなくファイルで作業したいので、必要です。


ここではこれは必要ありません。次に、見つかったすべてのファイルに対して実行するには、見つかったすべてのファイルに対して実行コマンドを使用grepします。find -name "*.ext"sedfind -exec

find -name "*.ext" -exec sed -i '...' {} \;

何らかの理由でファイル名を使用したい場合grep(たとえば、入力がファイル名でない場合find)、次のものを使用できますxargs

grep \.ext$ list_of_files | xargs -I{} sed -i '...' {}

おすすめ記事