for 루프를 사용하여 고유한 출력 파일이 있는 여러 파일에 대해 명령을 실행하려면 어떻게 해야 합니까? [폐쇄]

for 루프를 사용하여 고유한 출력 파일이 있는 여러 파일에 대해 명령을 실행하려면 어떻게 해야 합니까? [폐쇄]

디렉터리에 있는 1000개의 파일에 대해 다음 구문을 사용하여 명령을 실행하고 각 반복의 출력을 고유한 파일에 저장해야 합니다.

command universalinputfile variableinputfile > outputfile

예를 들어

MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_1rndb > motifoutput/output_1

MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_2rndb > motifoutput/output_2

나는 성공하지 못한 채 아래 for 루프를 사용해 보았습니다.

for i in {1..1000}
do
        MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_$irndb > motifoutput/output_$i
done

또한 "for file in /dir" 형식의 for 루프를 사용해 보았지만 성공하지 못했습니다.

어떻게 해야 하나요?

답변1

$irndb라는 단일 변수로 읽혀집니다 irndb. 당신은 할 수i변수 이름 으로 사용하도록 구문 분석 변경${i}rndb:

for i in {1..1000}
do
        MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_${i}rndb > motifoutput/output_$i
done

이것은 for그 자체로는 괜찮습니다.버팀대 확장 {1..1000}이므로 변경할 필요가 없습니다.

관련 정보