2017-09-25 7 views
6

外部の "CLIENT_ID"変数をこのawk行に渡そうとしましたが、期待通りに機能しません。私は現在、awk内のbash変数の使用

xxx_1_201712.sh 
xxx_1_201711.sh 
xxx_1_201710.sh 

を取得しています何:

CLIENT_ID=1 
awk -v CLIENT_ID="${CLIENT_ID}" 'NF{print "xxx_${CLIENT_ID}_" $0 ".sh"}' A.csv > B.csv 

201712 
201711 
201710 
B.csvで

所望の出力A.csvに:これは私が試したものです

xxx_${CLIENT_ID}_201712.sh 
xxx_${CLIENT_ID}_201711.sh 
xxx_${CLIENT_ID}_201710.sh 

答えて

8

${CLIENT_ID}はbash構文です。代わりに$0に既に使用しているawkの構文を使用する必要があります。

awk -v CLIENT_ID="${CLIENT_ID}" 'NF{print "xxx_" CLIENT_ID "_" $0 ".sh"}' A.csv > B.csv 
関連する問題