Você tem um pipeline composto de quatro comandos:
-
find, que lista arquivos zip. -
parallel, que invocaunzippara 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.txtdo 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 argumentosfastqce{}, -
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