我的目录包含数百万个小文件(从大数据程序输出)。我需要删除这些目录,但是当我输入标准时,rm *
我得到:
zsh: sure you want to delete more than 100 files in data/output [yn]? y
zsh: argument list too long: rm
这些文件都具有相同的前缀,并在后面附加一个唯一的编号,如下所示
data-12343
data-12344
... etc
所以我什至不能使用正则表达式来零敲碎打地丢弃这些文件。寻找有关如何高效、自动化地完成此操作的建议和技巧。
谢谢。
答案1
用于xargs
运行您的rm
命令。它会重新运行rm
,每次都会用完最大数量的参数,直到完成你的初衷*
。
用手册页的话来说:
命令的命令行会一直构建,直到达到系统定义的限制(除非使用 -n 和 -L 选项)。将根据需要多次调用指定的命令以用完输入项列表。一般来说,命令的调用次数会比输入中的项目少得多。这通常会带来显着的性能优势。有些命令也可以有效地并行执行;请参阅 -P 选项。