이 경로를 파일에 작성하십시오. words/05_díj/díj_pct.txt
이 부분만 추출하는 방법은 무엇입니까?05
내가 원하는 것은 해당 부분을 외부 변수의 값으로 사용하여 awk 스크립트를 실행하는 것입니다.
예:
for f in words/*/*_pct.txt
do
#So, I want to extract "05" from $f
#To use it here
awk -v var -f script.awk "$f" >> words/results.txt
done
답변1
사용매개변수 확장:
for f in words/*/*_pct.txt; do
n=${f#*/} # Remove everything till the first slash
n=${n%%_*} # Remove everything from the first underscore to the end
awk -v var="$n" -f script.awk "$f" >> words/results.txt
done
따옴표가 필요하며 이스케이프 시퀀스가 포함 -v var="$n"
되면 $n
확장됩니다 .