find と grep を使用して複数のファイルを空にする

find と grep を使用して複数のファイルを空にする
find . -name '.htaccess' -print | xargs grep -il 'sound' | xargs -p sh -c ">{}"

侵害されたホスト上のいくつかの .htaccess ファイルを探し、それらを grep して不正な .htaccess であることを確認し (サーバー上のすべてが破損しているわけではない)、それらを空白にします。

最後の部分を除いて、すべて動作しています。echo >など、さまざまなバリエーションを試しました。

ここでは基本的なことが抜けており、すべてのマニュアルページからそれを理解できないようです。

ありがとう。

答え1

find . -name '.htaccess' -print | xargs grep -il 'sound' | xargs -I {} sh -c ">{}"

いつものように、質問を投稿してから数分後に回答が届きます。

時には、ただ(文字通り)綴るだけでも役に立つと思います...

答え2

noopで試してください: > filename

しかし、不良な .htaccess ファイルをゼロにするよりも削除する方が理にかなっているのではないでしょうか?

関連情報