使用sed输出格式化查找时出现问题
您好,我正在尝试为客户清除js特洛伊木马程序中的站点,它添加了:使用sed输出格式化查找时出现问题,sed,find,grep,exec,Sed,Find,Grep,Exec,您好,我正在尝试为客户清除js特洛伊木马程序中的站点,它添加了: 到所有html页面 由于手动清理的文件太多,我尝试了以下方法: while read f do sed -i "s#<script src='http://nt02.co.in/3'></script># #g" "$f" done < list grep -irl "<script src='http://nt02.co.in/3'></script>" ./fol
到所有html页面
由于手动清理的文件太多,我尝试了以下方法:
while read f
do
sed -i "s#<script src='http://nt02.co.in/3'></script># #g" "$f"
done < list
grep -irl "<script src='http://nt02.co.in/3'></script>" ./folder/ > list
find./-type f-exec sed-e“s\\\g”{}>{}\代码>
问题是不允许您使用sed输出到输入。
所以我试着做一些类似的事情:
find./-type f-iname“*.new”-exec sed-e“s\\\g”{}>{}.new\代码>
也不起作用,它输出一个名为“{}.new”的文件
关于如何纠正这一点,有什么建议吗?还是关于如何清洁的另一个解决方案?我认为你让事情变得比需要的更复杂了。特别是,您需要使用-i标志,它允许您按照自己的意愿就地编辑文件。
你可能想要像这样的东西
sed -i '/<script src='http:\/\/nt02.co.in\/3'><\/script>/ d' *.html
sed-i'//d'*.html
或者,如果你觉得更舒服,可以使用脚本,比如
for f in "dir/*.html"
do
sed -i '/<script src='http:\/\/nt02.co.in\/3'><\/script>/ d' $f
done
“dir/*.html”中f的
做
sed-i'//d'$f
完成
请参见未经测试的:
find . -type f -print0 | xargs -0 perl -i.nt02 -pe "s#<script src='http://nt02.co.in/3'></script># #g"
find-键入f-print0 | xargs-0perl-i.nt02-pe“s###g”
您可能不太清楚@user379118的答案,但-i标志(或--in-place)允许您使用sed进行就地编辑,也可以在运行时创建原始文件的副本,以防万一。谢谢您的回答!
我喜欢这样:
while read f
do
sed -i "s#<script src='http://nt02.co.in/3'></script># #g" "$f"
done < list
grep -irl "<script src='http://nt02.co.in/3'></script>" ./folder/ > list
读取f时
做
sed-i“s####g”“$f”
完成<列表
列表是包含文件路径的文件,生成方式如下:
while read f
do
sed -i "s#<script src='http://nt02.co.in/3'></script># #g" "$f"
done < list
grep -irl "<script src='http://nt02.co.in/3'></script>" ./folder/ > list
grep-irl'./folder/>列表