awk:最後のN列を印刷します。ここで、Nは変数を通して渡されます。

awk:最後のN列を印刷します。ここで、Nは変数を通して渡されます。

私の入力変数に$dirPathディレクトリパスが含まれています。これは、N変数を介して渡されたディレクトリパスの最後のN値を取得できるようにすることです$depth。固定N値(例:2)の場合、次のように達成できます。

subDir=$(echo $dirPath|awk -F "/" '{n= 2; for (--n; n >= 0; n--){ printf "%s/", $(NF-n)} print ""}')

ただし、上記のコマンドの2をas変数に置き換えようとすると、n=$depth変数subDirは空です。それでは、上記のコマンドに変数値を渡すにはどうすればよいですか?

ベストアンサー1

bash変数を渡すには、awkawkの引数を使用します-v

awk -v n=$depth -F "/"...

おすすめ記事