파일 경로의 특정 부분 추출

파일 경로의 특정 부분 추출

이 경로를 파일에 작성하십시오. 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확장됩니다 .

관련 정보