Linux
從 php 文件中刪除長字元串 - 使用 grep 和 sed?
我在我的 Linux 伺服器上遇到了一些惡意軟體,並試圖從許多 php 文件中刪除它。
我用 grep 無休止地嘗試過 | sed 和 grep | tr 甚至無法擦除一個簡單的文本字元串,得到不同的錯誤。
嘗試時:
grep -l '@error' * | xargs -0 sed -i 's/error/nothing/g'
我收到一條錯誤消息:
無法讀取文件名.php
在 Mac 上使用終端 - 可能是 OSX 語法問題?
我的最後一項任務是從所有文件中刪除一長串程式碼——其中包括一些 $,!,?,<,>,," 符號——我需要反斜杠嗎?
您應該按照@Mat 的建議從備份或原始碼控制中恢復,否則您無法 100% 確定您已清理所有內容。
您的命令
-0
的xargs
問題xargs
是grep -l
. 只需刪除-0
它,只要文件名中沒有空格,它就會起作用。grep -l '@error' * | xargs sed -i 's/error/nothing/g'
grep -l @error * | xargs sed -i s/error/test/g
將工作。