명령을 한 번만 실행하여 여러 파일에서 명령을 실행하려면 어떻게 해야 합니까?

명령을 한 번만 실행하여 여러 파일에서 명령을 실행하려면 어떻게 해야 합니까?

31개의 구분된 파일 이름 chr1.txt ... chr31.txt에 대해 다음 명령을 실행하고 단 한 번의 실행으로 31개의 출력을 얻고 싶습니다.

이것은 명령입니다:

 cat input.txt  | sed 's/.\{5\}/& /g' > output.txt

어떤 제안이 있으십니까?

답변1

쉘이 중괄호 확장을 지원하는 경우 다음을 수행할 수 있습니다.

sed 's/.\{5\}/& /g' chr{1..31}.txt >output.txt

chr{1..31}.txt로 확장됩니다 chr1.txt. chr2.txt... chr31.txt전체 출력(모든 파일의)이 에 저장됩니다 output.txt.

답변2

간단한 루프가 트릭을 수행합니다.

for((i=1;i<32;i++));do cat chr$i.txt | sed 's/.\{5\}/& /g' > output$i.txt; done

관련 정보