我完全不熟悉 GNU parallel
在使用 GNU parallel
运行下面的命令时,我需要你的建议:
/home/admin/Gfinal/decoder/decdr.pl --gh --w14b /data/tmp/KRX12/a.bin |
perl /home/admin/decout/decoder/flow.pl >> /data/tmp/decodedgfile/out_1.txt
我将在文件列表 (.bin
) 上运行此命令,那么使用 GNU parallel
实现此目的的最佳(最快)方法是什么?注意命令第一部分的输出 ( /home/admin/Gfinal/decoder/decdr.pl --gh --w14b
) 非常大 (> 2 GB)。
如有任何帮助,我们将不胜感激。
最佳答案
这行得通吗:
parallel /home/admin/Gfinal/decoder/decdr.pl --gh --w14b {} '|' perl /home/admin/decout/decoder/flow.pl >> /data/tmp/decodedgfile/out_1.txt ::: /data/tmp/KRX12/*.bin
(如果 flow.pl
的输出超出了磁盘 I/O 的处理能力,请尝试 parallel --compress
)。
或者也许:
parallel /home/admin/Gfinal/decoder/decdr.pl --gh --w14b {} '|' perl /home/admin/decout/decoder/flow.pl '>>' /data/tmp/decodedgfile/out_{#}.txt ::: /data/tmp/KRX12/*.bin
这取决于您是想要单个输出文件还是每个输入文件一个。
另外花一个小时浏览教程。您的命令行会因此爱上您。 man parallel_tutorial
关于linux - GNU 并行 |管道命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352096/