파일에 대해 순서대로 명령 실행

파일에 대해 순서대로 명령 실행

디렉터리의 파일에 대해 명령을 순차적으로 실행하고 각 명령을 일시 중지하여 완료될 때까지 기다리는 스크립트를 작성하는 방법을 알아내려고 합니다. 여기에 예가 있습니다.

cat >> text.txt && cat >> text2.txt

위 명령은 각 파일을 수동으로 입력하는 한 두 파일 모두에 대해 작동합니다. 내 개인 프로젝트에는 text1.txt...text559.txt라는 559개의 파일이 있습니다.

최후의 수단은 터미널에서 파일 이름 목록을 추출한 다음 텍스트 편집기로 이동하여 한 번 실행되는 스크립트를 작성하는 것이었습니다. 가능하다면 이 작업을 자동화하고 싶으므로 시작하는 방법에 대한 조언을 주시면 감사하겠습니다.

답변1

루프를 살펴보고 싶을 수도 있습니다 for. 그 안에는 bash다음과 같습니다:

for file in "${list_of_files[@]}"
do
  run_command "$file"
done

이는 "${list_of_files[@]}"다른 곳에서 설정한 배열일 수도 있고, 파일 이름의 리터럴 목록으로 바꿀 수도 있고, 파일 이름 글로빙 패턴일 수도 있습니다 text*.txt.

루프는 해당 루프 반복에서 작업 중인 run_command단일 인수로 실행 되며 다음 루프 반복으로 이동하기 전에 각 인수가 완료될 때까지 기다립니다.$filerun_command

관련 정보