Linux

從 php 文件中刪除長字元串 - 使用 grep 和 sed?

  • December 19, 2014

我在我的 Linux 伺服器上遇到了一些惡意軟體,並試圖從許多 php 文件中刪除它。

我用 grep 無休止地嘗試過 | sed 和 grep | tr 甚至無法擦除一個簡單的文本字元串,得到不同的錯誤。

嘗試時:

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

我收到一條錯誤消息:

無法讀取文件名.php

在 Mac 上使用終端 - 可能是 OSX 語法問題?

我的最後一項任務是從所有文件中刪除一長串程式碼——其中包括一些 $,!,?,<,>,," 符號——我需要反斜杠嗎?

您應該按照@Mat 的建議從備份或原始碼控制中恢復,否則您無法 100% 確定您已清理所有內容。

您的命令-0xargs問題xargsgrep -l. 只需刪除-0它,只要文件名中沒有空格,它就會起作用。

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

將工作。

引用自:https://unix.stackexchange.com/questions/35860