디렉터리의 파일에 대해 명령을 순차적으로 실행하고 각 명령을 일시 중지하여 완료될 때까지 기다리는 스크립트를 작성하는 방법을 알아내려고 합니다. 여기에 예가 있습니다.
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
단일 인수로 실행 되며 다음 루프 반복으로 이동하기 전에 각 인수가 완료될 때까지 기다립니다.$file
run_command