Você tem um pipeline composto de quatro comandos:
-
find
, que lista arquivos zip. -
parallel
, que invocaunzip
para extrair um arquivo em cada arquivo zip. Dado que{}
é substituído pelo caminho para o arquivo zip, você tenta extrair arquivos comohome/user977828/stuff/Undetermined_S0_L004_R1_001_fastqc.zip/fastqc_data.txt
do archive (se o diretório atual for/home/user977828/stuff
). -
crimson
, que recebe uma confusão dos arquivos extraídos na entrada padrão e é invocado com os argumentosfastqc
e{}
, -
less
.
parallel
apenas substitui {}
em seus argumentos. Não pode fazer nada sobre as outras partes do seu pipeline. Se você quiser chamar crimson
em cada arquivo fastqc_data.txt
separadamente, será necessário passar um pipeline de unzip
para crimson
como um argumento para parallel
.
find *_fastqc.zip -type f | sed 's/\.zip$//' |
parallel -j 3 'unzip -c {}.zip {}/fastqc_data.txt | crimson fastqc /dev/stdin' |
less