2016-11-02 19 views
0

私はコマンドを使用して、awkスクリプト、testscript.scriptを持っている:awkスクリプトコマンドの出力を変数に格納する方法は?

私は任意の時点で print varを言うときような変数 varには、このコマンドを保存するにはどうすればよい
Lebron 
Kobe 
James 
Tony 

を出力

$5 > 0 {print $1}

コードでは、上記の出力は印刷されますか?あなたはコマンド置換を必要とする

答えて

0

$()awkコマンドの

var=$(awk ...) 

STDOUTは変数varに保存されます。

さて、あなたが行うことができます:

echo "$var" 

は、出力を取得します。

+0

このコマンド置換方法を 'var = $($ 3 + $ 4 + $ 5> 500 {print $ 1 $ 2 |") ")コマンドに拡張すると、構文エラーが発生します。何がここで間違っていた?通常、このコマンドのstdoutが表示されます。 –

+0

@KevinMoy '='の周りに空白を入れてはいけません: 'var = $(your_command_here)' – heemayl

+0

非常に奇妙です...どのように単純なコマンドでも構文エラーを出すようです( 'var = $ ( "hello world"を印刷してください)、それでもawkスクリプトに置かれていました。これはawkスクリプト自体を持っていることが原因でしょうか? 'awk -f testscript.script inputfile'を使ってスクリプトを呼び出します。 –

関連する問題