我有以下的GNU parallel命令。
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 parallel参数的占位符。有没有办法让这个工作?