我正试图摆脱一些黑客问题。
这家伙在我服务器上的多个文件的头部放了9行代码......我正在尝试使用grep和sed来解决这个问题。
我在尝试:
{
"name": "unixnut/template-php-project",
"description": "A self-contained project that uses the Composer autoloader to load class files",
"license": "GPL",
"authors": [
{
"name": "Alastair Irvine",
"email": "alastair@plug.org.au"
}
],
"require": {},
"include-path": ["app/include", "contrib"],
"autoload": {
"psr-4": {
"XYZ\\": "app/classes/XYZ"
}
}
}
但是没有任何事情发生,如果我删除grep -r -l "//360cdn.win/c.css" | xargs -0 sed -e '1,9d' < {}
xargs -0 from
sed`结果,有人可以帮我吗?
非常感谢!
答案 0 :(得分:2)
您应该在--null
命令中使用grep
选项在\0
输出中的每个文件名后输出NUL字节或grep
。同时使用-i.bak
中的sed
进行内联编辑:
grep -lR --null '//360cdn.win/c\.css' . | xargs -0 sed -i.bak '1,9d'
答案 1 :(得分:0)
直接迭代文件有什么问题?
您可能希望将-i
单位添加到 sed ,以便编辑文件 i n-place
grep -r -l "//360cdn.win/c.css" | while read f
do
sed -e '1,9d' -i "${f}"
done
¹,如果你的文件包含换行符等,你可能会遇到问题。 但是......如果你的网站包含带换行符的文件,你可能还有其他问题......