【发布时间】:2015-05-29 23:21:28
【问题描述】:
我有以下 GNU 并行命令。
parallel --gnu --jobs 4 \
normalize-by-median.py \
-k 20 -C 20 --paired -N 4 -x 6e9 \
--out pdom-{}-diginorm.fq \
pdom-{}.fq.gz \
::: 200bp 500bp 1kb 3kb 8kb
我想在写入磁盘之前压缩输出。通常我只会将它发送到gzip -c,但不幸的是,这个特定的 Python 脚本没有将输出发送到标准输出的选项。然后我想我可以改用进程替换。我尝试了以下方法。
parallel --gnu --jobs 4 \
normalize-by-median.py \
-k 20 -C 20 --paired -N 4 -x 6e9 \
--out >(gzip -c - > pdom-{}-diginorm.fq.gz) \
pdom-{}.fq.gz \
::: 200bp 500bp 1kb 3kb 8kb
但是,后一个示例中的花括号由子进程按字面意思解释,而不是作为 GNU 并行参数的占位符。有什么办法可以让它工作吗?
【问题讨论】:
标签: bash gnu-parallel process-substitution