У меня есть следующая параллельная команда GNU.GNU Параллельный аргумент в замене процесса bash
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 не имеет возможности отправлять вывод в stdout. Затем я подумал, что вместо этого я могу заменить процесс. Я попробовал следующее.
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. Есть ли способ заставить это работать?