sed出力を使用した検索のフォーマットに関する問題

exec find grep sed
sed出力を使用した検索のフォーマットに関する問題

こんにちは私は顧客のためにjs-trojanからサイトをきれいにしようとしています、それは追加しました:

すべてのhtmlページに。

手動でクリーニングするにはファイルが多すぎるため、次のような検索を試みました。

`find ./ -type f -exec sed -e” s \ `

\ \ g “\ {}> \ {} \;

問題は、sedを使用して入力に出力できないことです。 だから私は次のようなことをしようとしました:

find ./ -type f! -iname "* .new" -exec sed -e "s \

\ \ g “\ {}> \ {}。new \;

どちらも機能しませんでした。「\ {}。new」という名前のファイルを出力します…​

これを正しく行うためのヒントはありますか? または、これをきれいにする方法に関する別の解決策はありますか?

  0  0


ベストアンサー

あなたは物事を必要以上に複雑にしていると思います。 特に、-iフラグを使用すると、必要な場所でファイルを編集できます。 次のようなものが必要な場合があります

sed -i '/<\/script>/ d' *.html
</code></pre>

<p>or use a script if you feel more comfortable, something like  </p>

<pre><code>for f in "dir/*.html"
do
    sed -i '/<script src='http:\/\/nt02.co.in\/3'><\/script>/ d' $f
done
</code></pre>

<p>See <a href="http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/" rel="nofollow noreferrer">http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/</a></p>

1


未テスト:

find . -type f -print0 | xargs -0 perl -i.nt02 -pe "s## #g"

0


@ user379118の答えからは完全に明確ではないかもしれませんが、-iフラグ(または—​in-place)を使用すると、sedを使用してインプレース編集を行うことができ、オプションで元のファイルのコピーを作成できます念のために行きます。

0


あなたの答えてくれてありがとう! 私はこのようにしました:

while read f
do
    sed -i "s## #g" "$f"
done < list

listは、次のように生成されたファイルへのパスを含むファイルです。

grep -irl "" ./folder/ > list

0


タイトルとURLをコピーしました