再帰ファイル内の全行を検索して置換する

再帰ファイル内の全行を検索して置換する

私が使用しているのは:

grep -n -H -o -R -e textword .

ディレクトリ '.' の下にある文字列 'textword' を含むすべてのファイルを再帰的に一覧表示し、ファイル、行、一致する部分のみを表示します。

Linux コマンドを使用して、テキストに一致する行を削除する必要があります。

答え1

find . -type f -exec sed -r -i "/textword/d" {} +

検索テキストはsed(-rオプションを使用) によって正規表現として解釈されるため、エスケープする必要がある場合があることに注意してください。

sed -i.backup元のファイルを としてバックアップするために使用します<filename>.backup

答え2

GNU を使用するfindsed次のことが可能になります。

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'

関連情報