将此路径写入文件: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
包含转义序列,它们将被扩展。