以下のように最後のディレクトリを印刷しようとしています。
#!/bin/bash
dirc="/a/b/"
i=3
`echo "$dirc" | awk -F / '{ print ""$"i"}'`
「b」を印刷する必要がありますが、そのようなことは発生しません。
ベストアンサー1
i
AWK変数はAWKスクリプトのAWK変数であり、AWK変数を設定する必要があります。
#!/bin/bash
dirc="/a/b/"
echo "${dirc}" | awk -F / -v i=3 '{print $i}'
i
シェルが理解する方法で値を指定できます。
i=3
echo "${dirc}" | awk -F / -v "i=${i}" '{print $i}'
あなたできるAWKスクリプトでシェルに変数を評価させることも可能ですが、これは問題を引き起こすだけです。
i=3
echo "${dirc}" | awk -F / "{print \$${i}}"