删除大小为0的文件的最快方法

时间:2018-11-20 20:12:29

标签: linux bash delete-file

我正在寻找使用bash删除大小为0的文件的最快方法。

我从GNU并行运行的grep命令中将成千上万个大小为0的文件(以及有价值的输出)生成到单个输出目录中。当grep找到匹配项时,输出文件将包含信息。如果grep找不到匹配项,则输出文件为空。

parallel -j $numcores "grepfunction {} > output_{}.fastq" ::: "${input_array[@]}"

我正在使用以下方法删除空文件,但我想找到一个更快的选项。在搜索大多数解决方案时,我发现使用类似的基于find的命令,它们以相似的速度工作。

find results2/ -size 0 -delete

根据评论中的建议,我也尝试了以下方法

find ./results2 -size 0 -print0 |xargs -0 rm --

从质量上讲它很慢,但是我将进行基准测试并报告。

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

(这应该是评论,但很难读作评论)。

如果您要再次运行作业,则可以将其作为文件生成的一部分:

parallel -j $numcores "grepfunction {} > output_{}.fastq ||
  rm output_{}.fastq" ::: "${input_array[@]}"

我假设grep函数如果匹配(例如grep会返回true)。