このパスをファイルに作成します。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
されます。