如何在 Linux 服务器上使用 PHP 递归删除包含特定文本的行?
我想在整个 Linux Web 服务器中搜索包含特定字符串的所有文件和子目录。
如果找到该字符串,则删除该行。我这样做是因为病毒以某种方式进入了我的网站,并且它添加了一行代码,因此如果我找到该行,我可以轻松删除该病毒。
这是我的代码
$input = 'cd ../home/public_html
find ./ -type f -exec sed -i "/pantscow.ru/d" {} \ ';
echo $input;
$output = shell_exec($input);
echo "<pre>#$output</pre>";
你能告诉我为什么这不起作用吗?它只返回“#”。 几个月前我已经可以使用它了,但我忘记了如何正确执行。
谢谢。
I want to search my entire Linux web server for ALL files and subdirectories containing a specific string.
If that string is found, then delete that line. I am doing this because a virus got put on my website somehow, and it adds a single line of code, so if I find that line, I can delete the virus easily.
Here is my code
$input = 'cd ../home/public_html
find ./ -type f -exec sed -i "/pantscow.ru/d" {} \ ';
echo $input;
$output = shell_exec($input);
echo "<pre>#$output</pre>";
Can you tell me why this doesn't work? It just returns "#".
I had it working before a few months ago, but I forgot how to execute properly.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用这个命令来查找所有具有该字符串的 php 文件
- 其中“abc”是您要搜索的字符串。
you can use this single command to find all those php files which have that string-
where "abc" was the string you wanted to search.