免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5342 | 回复: 11
打印 上一主题 下一主题

请教如何批量删除包含特定字符的文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-02 19:52 |只看该作者 |倒序浏览
如删除所有包含'test'的/home/目录下的所有文件,/home目录下还有好几层目录,需要遍历删除文件

论坛徽章:
0
2 [报告]
发表于 2006-01-02 20:36 |只看该作者
只删除文件不删除目录么?

如果这样,建议看置顶帖子基础12之find篇

如果目录也删除的话,那么 rm -rf  dir

论坛徽章:
0
3 [报告]
发表于 2006-01-02 20:51 |只看该作者
我的意思是找出所有包含字符串'test'的文件,不是文件名中包含'test'的文件

论坛徽章:
0
4 [报告]
发表于 2006-01-02 21:00 |只看该作者
find + grep +xargs+ rm

论坛徽章:
0
5 [报告]
发表于 2006-01-02 21:49 |只看该作者
find + grep?能给个例子吗?谢谢

论坛徽章:
0
6 [报告]
发表于 2006-01-02 22:06 |只看该作者
  1. grep -l test `find ./  ! -type d`
复制代码


这个应该是你想要的结果吧? xargs+rm 部分你还是自己摸索吧,其实不难的

论坛徽章:
0
7 [报告]
发表于 2006-01-02 23:15 |只看该作者
谢谢楼上的兄弟!
不过目录层次多了好像就不行了

  1. bash: /bin/grep: Argument list too long
复制代码

[ 本帖最后由 jerrylu 于 2006-1-2 23:21 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2006-01-03 10:23 |只看该作者
原帖由 jerrylu 于 2006-1-2 23:15 发表
谢谢楼上的兄弟!
不过目录层次多了好像就不行了

  1. bash: /bin/grep: Argument list too long
复制代码


这个应该是参数过多导致,并不是目录层次太多。

论坛徽章:
0
9 [报告]
发表于 2006-01-03 10:40 |只看该作者
grep -rl 'test' dir | xargs rm

论坛徽章:
0
10 [报告]
发表于 2006-01-03 10:40 |只看该作者
  1. find . ! -type d | xargs grep '代开' -l | xargs rm
复制代码

这样好像就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP