2016-08-03 2 views
0
awk 'BEGIN {print "'"$QUERY_IMSI_END"'"; 
} 
{ 
split($0,a,";") 
} 
END {print a[3],a[2],a[1]}' 

QUERY_IMSI_ENDから形成される結果配列は印刷されません。正しいデザインを作るには?AWK建設では機能しませんか?

+0

トラブルシューティングに役立つように、結果セットを$ QUIERY_IMSI_ENDから取得する可能性はありますか?つまり、 "$ QUIERY_IMSI_END"を結果データセット、好ましくはデータのサブセットに置き換えて問題を書き直します。ありがとう。 – tale852150

答えて

0

awkは、stdinから入力を読み取ります。しかし、printは出力をstdoutに出力します。あなたが-Fを使用して、デフォルトのものとは異なるフィールドセパレータを渡すことができ

echo "${QUERY_IMSI_END}" | awk -F';' '{print $3, $2, $1}' 

注:

私はあなたがこれをしたいと思います。明示的なsplit()は必要ありません。

+0

そしてAWK内ではどのように印刷できますか? –

+0

することはできません...... – hek2mgl

+0

あなたは、変数として渡すことができます。 – 123

0

またはその変数をawkに渡す場合は、しかし、awkは読み込みバッファやハンドルが必要なSTDINから読み込むことに注意してください。したがって、ファイルまたはバッファハンドルを入力として渡す必要があります。

awk -v Variable=$QUERY_IMSI_END -F";" '{split(Variable,array,";"); print a[3],a[2],a[1]}' file1 
+1

なぜdownvote?コードに何か問題がありますか? – FoldedChromatin

関連する問題