사용하려는 bash 스크립트에 문제가 있습니다. 1000s 파일이있는 디렉토리가 있고 각 파일을 사용하여 순차적으로 명령을 실행하고 싶습니다. 그러나 각 파일은 다른 파일 (예 : File1.sam, File1.gz, File2.sam, File2.gz 등)과 쌍을 이루고 있습니다. 실행중인 명령에는 쌍의 두 파일을 모두 인수로 사용해야합니다. 나는 아래의 명령과 비슷한 것을 사용하고 있는데, 단 하나의 인수 만 필요로했을 때 나는 (아래처럼) 단순히 확장 할 수 있다고 생각했다.프로그램을 순차적으로 실행하는 bash 스크립트
shopt -s nullglob
for myfile1 in *.sam && for myfile2 in *.gz
do
./bwa samse -r "@RG\tID:$myfile1\tLB:$myfile1\tSM:$myfile1\tPL:ILLUMINA" lope_V1.2.fasta $myfile1 $myfile2 > $myfile1.sam2 2>$myfile1.log
done
누구든지이 문제를 어떻게 수정하고 나를 다른 방향으로 안내 할 수 있는지 알고 있습니까?
좋아 보인다. 개선을위한 제안은보다 엄격한 PE'myfile2 = "$ {myfile1 % .sam} .gz"'를 사용하는 것입니다. –
@ JoshCartwright 감사합니다. 게시글을 업데이트했습니다. –
오, 나는 당신이'./bwa' 행의 따옴표에서 $ myfile1 매개 변수 확장을 제거하지 않았 음을 알았습니다. 왜이 짓을 했나요? 파일 이름에 공백이 있으면 단어 분리로 인해 깨질 수 있습니다. –