두 요소가 포함된 bash 배열 변수를 GNU 병렬 스크립트에 전달하려고 합니다.
echo ${opts[@]}
-s 100206 -i /input/100206/unprocessed/3T/T1w_MPR1/100206_3T_T1w_MPR1.nii.gz -s 100408 -i /input/100408/unprocessed/3T/T1w_MPR1/100408_3T_T1w_MPR1.nii.gz
이렇게 실행하려고 합니다
printf '%s\n' "${opts[@]}" | parallel --jobs 8 --timeout 250% --progress recon-all {.} -all -qcache
내가 printf
잘못 사용하고있는 것 같습니다 :
printf '%s\n' "${opts[@]}"
-s
100206
-i
/input/100206/unprocessed/3T/T1w_MPR1/100206_3T_T1w_MPR1.nii.gz
-s
100408
-i
/input/100408/unprocessed/3T/T1w_MPR1/100408_3T_T1w_MPR1.nii.gz
답변1
각 명령에는 4개의 레코드가 필요하다고 생각합니다.
printf '%s\n' "${opts[@]}" |
parallel --jobs 8 -n4 --timeout 250% --progress recon-all {.} -all -qcache