나는 많은 하위 디렉토리(words/blabla,words/blabla)를 포함하는 ../words라는 디렉토리를 가지고 있습니다. 각 하위 디렉토리에는 두 가지 유형의 파일(.*1.txt) 및 (.*2.txt)이 포함되어 있습니다. 나에게 필요한 것은 이러한 각 파일에 대해 AWK 스크립트를 실행하는 것입니다.
비슷한 게 있지 않을까요?
for d in words/*
do
for f in .*[0-9].txt
do
awk -f script.awk ${f}
done
done
답변1
이것은 작동합니다:
for f in words/*/.*[12].txt
do
awk -f script.awk "$f"
done
답변2
bash
다음과 같은 최신 쉘을 사용하거나 zsh
다음과 같은 것을 사용할 수 있습니다.
for i in words/*/*{1,2}.txt; do awk -f script.awk "$i"; done
어떤 이유로 과의 호환성이 필요한 경우 /bin/sh
약간 장황하고 읽기 어려운 이 솔루션을 사용할 수 있습니다.
for i in words/*/*1.txt words/*/*2.txt; do awk -f script.awk "$i"; done
답변3
이 시도for d in words/*; do for f in ./words/$d/*{0..9}.txt; do awk -f script.awk $f; done