여러 .in 파일을 파이프하고 .out 파일을 순서대로 저장하기 위한 bash 쉘 스크립트

여러 .in 파일을 파이프하고 .out 파일을 순서대로 저장하기 위한 bash 쉘 스크립트

Bash 쉘에서 모든 test.in 파일(test1.in, test2.in, test3.in에서 testN.in까지)을 가져오고 이를 실행 가능한 testExecutable로 파이프하는 스크립트나 명령을 원하며 출력 결과는 각각 testN.out 파일입니다.

지금까지 나는 find를 실행하여 모든 파일을 입력할 수 있다는 것을 알고 있습니다. test*.in < 테스트 실행 파일

그러나 출력 파이프를 사용하여 test1.in의 경우 mytest1.out, test2.in의 경우 mytest2.out 등을 생성하는 방법을 잘 모르겠습니다.

도움을 주셔서 미리 감사드립니다.

답변1

루프가 필요합니다.

for f in test*.in; do testExecutable <"$f" >"my${f%in}out"; done

위의 내용은 공백이 포함된 이름을 포함하여 모든 파일 이름에 안전합니다.

관련 정보