パラメータ値が解析されない

パラメータ値が解析されない

次のコマンドを使用していますが、うまくいきます。

zcat abc.dat.gz | awk -F\| 'NF==102{print NR,$0}'

ただし、以下のスクリプトで上記のコマンドを使用してもtemp_var2解決されません。

zcat "$1" | awk -F "$2" 'NF==$temp_var2{print NR,$0}'

これには、$1スクリプト$2の実行時に渡されるパラメータとtemp_var2その中で生成されたパラメータが数値として割り当てられます。

ベストアンサー1

これは、変数が一重引用符内で拡張されないために発生します。スイッチawkには回避策が組み込まれています-v。この試み:

zcat "$1" | awk -F "$2" -v var="$temp_var2" ' NF == var { print NR, $0 }'

おすすめ記事