linux - GNU 并行 |管道命令

标签 linux greenplum gnu-parallel

我完全不熟悉 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/

相关文章:

linux - 如何在 Linux 内核中启用动态调试?

linux - 当 ssh 连接到服务器时,如何禁用问候消息?

sql - 在 Greenplum 中实现公用表表达式

sql - to_number() 返回错误信息

bash - 并行化 awk 脚本

linux - 检查视频文件是否有字幕

Linux脚本将输出重定向到带有日期文件名的日志文件

sqldatatypes - 数值字段溢出异常

gnu-parallel - GNU 使用 --round-robin 并行输出到标准输出

shell - 使用 awk 和并行同时处理多个文件