방금 SLURM을 사용하도록 전환했으며 루프와 sbatch
. 전달 변수를 sbatch
사용하여 이 작업을 수행하려고 했지만 --export
표준 오류/출력 파일 이름에 대한 변수를 삽입할 수 없습니다. 직업명( -J
)이나 부품 에 효과가 있는 것 같아요 --wrap
.
for i in *fastq.gz; do sbatch \
--export=i=$i --error='$i.eo%j' --output='$i.eo%j' \
-J trim_`basename ${i}` \
--wrap="fastq_trim_single.sh ${i}" \
; done
이름에 $i가 포함된 출력 파일($i.eo68065)을 생성합니다. 내가 원하는 대로 할 수 있을까?
참고: 이상적으로는 출력 파일 이름 basename $i
대신 사용하고 싶습니다 .$i
답변1
이것이 귀하의 사용 사례에 적합한지 확실하지 않지만 다양한 작업 사용을 고려해 보셨나요? 작업 배열을 사용하는 경우 변수는 및 명령 SLURM_ARRAY_TASK_ID
에서 사용할 수 있는 작업 배열의 현재 인덱스에 할당됩니다 .--error
--output
다음은 몇 가지 유용한 예입니다.https://slurm.schedmd.com/job_array.html