linux删除百万个文件夹,linux下如何删除一百万个文件

今日QA发了个请求,要求删除某目录下指定格式的文件。

[[email protected] resin-3.1.9]# ls | wc -l

1013964

统计了下,有一百万多个文件!

而且文件的命名也很古怪,如“d:\temp\perf\1413787853558.html”...

直接用rm -f  *.html,不支持!

-bash: /bin/rm: Argument list too long

尝试用xargs,ls也不支持这么多的参数。

#ls *.html | xargs rm

-bash: /bin/ls: Argument list too long

再换个办法:

ls | grep "d:" | grep temp | grep perf | grep html | xargs rm -f

因为有\字符在文件名称中,无果。

小批量实验了几次,终于想到办法。

先把这些文件名称全部导入到一个文件中

ls | grep "temp" | grep "perf" | grep "d:" | grep "html" >xxx.remove

接着,跑一个for 循环,即可删除。

# for i in `cat xxx.remove`;do rm -f $i;done

原文:http://zhaoshaoshan.blog.51cto.com/4256390/1586266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值