linux下如何删除一百万个文件
今日QA发了个请求,要求删除某目录下指定格式的文件。
[root@xx 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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。