grepとsedを使用してPHPファイルから長い文字列を削除しますか?

grepとsedを使用してPHPファイルから長い文字列を削除しますか?

私はLinuxサーバーでいくつかのマルウェアを見つけて、多くのPHPファイルからそれを削除しようとしました。

私はgrep sedとgrep | trを使用して無限に試しましたが、単純なテキスト文字列も削除できず、他のエラーが発生しました。

試してみるとき:

grep -l '@error' * | xargs -0 sed -i 's/error/nothing/g'   

エラーメッセージが表示されます。

読めないファイル名.php

Macで端末を使用する - OSX構文の問題ですか?

最後の作業は、すべてのファイルから長いコード文字列($、!、?、<、>、\、"記号を含む)を削除することです。バックスラッシュを使用する必要がありますか?

ベストアンサー1

バックアップまたはソース管理から復元する必要があります。@人主それ以外の場合は、すべてをきれいにしたと100%確信できないため、この方法を使用することをお勧めします。

コマンドの問題は、-0このxargsアプローチではxargsNULL終了パラメータが必要なため、これが出力に適用されないことですgrep -l-0ファイル名にスペースが含まれていない場合は、削除するだけで機能します。

grep -l '@error' * | xargs sed -i 's/error/nothing/g'

おすすめ記事