如何在 Linux 服务器上使用 PHP 递归删除包含特定文本的行?

发布于 2024-10-14 15:50:23 字数 406 浏览 2 评论 0原文

我想在整个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

硪扪都還晓 2024-10-21 15:50:23

您可以使用这个命令来查找所有具有该字符串的 php 文件

find . -name "*php" -exec grep -H abc {} \;

- 其中“abc”是您要搜索的字符串。

you can use this single command to find all those php files which have that string-

find . -name "*php" -exec grep -H abc {} \;

where "abc" was the string you wanted to search.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文