使用命令find ./ -name "*.php" |xargs egrep "getHTTPPage"|xargs "rm"
出现酱紫
图片非https资源https访问请自觉新窗口打开。
find ./ -name "*.php" |egrep "getHTTPPage"|xargs rm -rf
然而文件还是存在一堆。。。并没有删掉
find ./ -name "*.php" -delete
find ./ -name "*.php" | xargs egrep "getHTTPPage" -l | xargs rm
我错了,希望你没有执行上条命令
for i in $(find ./ -name "*.php");do egrep "getHTTPPage" $i && rm -f $i;done
find ./ -name "*.php" -exec rm -rf {} \;
额,注意结尾的";
- - 不带坑人的
你这个和我给的是一样的效果,把人家的*.php 全给删了……
反正我是不敢随意复制网上的 rm
xargs 后面 rm 没双引号的呢
find -name "*.php" -exec grep -l "getHTTPPage" {} \; | xargs rm -rf
注意 grep 的时候加 -l 只打印文件名
不坑人
find /mnt/media_a/ -name *.lnk -type f -print -exec rm -rf {} ;
直接搜“*getHTTPPage*.php “不行吗
find . -name '*.php' -type f -print -exec rm -rf {} \;
你这个文件名有空格就不行
我建议你这么做:
1: 查看一下待删除的文件列表
grep 'getHTTPPage' *.php|awk -F':' '{print $1}'|xargs
2: 确认文件没啥问题? 好了 可以删除掉了
rm -rf `grep 'getHTTPPage' *.php|awk -F':' '{print $1}'|xargs`
值得一提的是,如果你期望的是递归的寻找文件, 我提供的方法则只能在当前目录工作, 你似乎需要这样子?
find ./ -name "*.php" | xargs grep 'getHTTPPage' | awk -F':' '{print $1}'|xargs
文件名有空格可以试试:
find ./ -name "*.php" | xargs -I{} grep -l 'getHTTPPage' {} | xargs -I{} rm -rf {}
grep -r + awk 就行了