我正在寻找一种快速的方法来连接单个目录中的大量文件,大约50,000个或更多文件。每个文件大小介于1到5 Mb之间。我知道只使用find或cat命令这样做一次就不那么费时了。但我正在运行一个程序,它迭代地更新了一些这些文件,而且我不得不重新连接所有文件来创建一个文件数据库。有时,程序在目录中创建新文件,这可能会增加每次重复进程时要连接的文件总数。因为,我必须多次迭代地完成这一步骤,连接的计算时间将逐渐增加,文件的数量和大小从几分钟增加到几小时。目前我正在使用find命令来执行此过程。但我想知道是否还有其他更好的方法来完成这个过程,这可能需要更少的时间(几分钟)来连接所有文件。
谢谢
答案 0 :(得分:0)
使用bash
的{{3}},您可以通过直接将其连接到正在运行的程序来自行将串联写入磁盘文件,同时还可以并行化串联读取和分析过程,前提是只连续读取串联
您可以编写<(find … | xargs cat)
(即在流程替换构造中使用find和cat命令)而不是分析程序的filename参数。