проблема
Я использую GNU параллельно и хочу передать два файла в программу с помощью оператора :::
. Мое дерево каталогов выглядит так:
$ ls
SRR6301073_pass_1_trimmed.fq
SRR6301073_pass_2_trimmed.fq
SRR6301129_pass_1_trimmed.fq
SRR6301129_pass_2_trimmed.fq
...
Следующий код:
#!bin/bash
ones=$(find SRR*pass*1*.fq)
twos=$(find SRR*pass*2*.fq)
parallel --link echo ::: $ones ::: $twos
Производит:
SRR6301033_pass_1_trimmed.fq SRR6301033_pass_2_trimmed.fq
SRR6301034_pass_1_trimmed.fq SRR6301034_pass_2_trimmed.fq
...
Но мне действительно нужно, чтобы вывод выглядел так:
-1 SRR6301033_pass_1_trimmed.fq -2 SRR6301033_pass_2_trimmed.fq
-1 SRR6301034_pass_1_trimmed.fq -2 SRR6301034_pass_2_trimmed.fq
...
Что я уже пробовал
Это:
$ parallel --link echo -1 ::: $ones -2 ::: $twos
производит
-1 SRR6301033_pass_1_trimmed.fq SRR6301033_pass_2_trimmed.fq
-1 SRR6301034_pass_1_trimmed.fq SRR6301034_pass_2_trimmed.fq
и это:
$ parallel --link echo -1 ::: $ones ::: $twos
Производит:
-1 SRR6301033_pass_1_trimmed.fq -2
-1 SRR6301034_pass_1_trimmed.fq SRR6301033_pass_2_trimmed.fq
-1 SRR6301037_pass_1_trimmed.fq SRR6301034_pass_2_trimmed.fq