ファイルパスの特定部分の抽出

ファイルパスの特定部分の抽出

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

おすすめ記事