0

このコマンド出力を変数に代入したい

echo "status:0
id:239965eb20557679348-1
aaa:[bbb:config this
ccc:0.758]" | awk -F: 'NR==3 {print $3}'

しかし、多くの方法で試してみるとecho $my_var、空の結果で失敗しました。

my_var=$(echo "status:0
id:239965eb20557679348-1
aaa:[bbb:config this
ccc:0.758]" | awk -F: 'NR==3 {print $3}')

または

my_var=`echo "status:0
id:239965eb20557679348-1
aaa:[bbb:config this
ccc:0.758]" | awk -F: 'NR==3 {print $3}'`

運が悪かったのですが、これで何か足りないものはありますか?

4

3 に答える 3

0

\3 回目の試行で誤って追加しました。それを削除するだけです。それはうまくいくでしょう。

$ val=`echo "status:0 
id:239965eb20557679348-1
aaa:[bbb:config this
ccc:0.758]" | awk -F: 'NR==3 { print $3 } '`
$ echo $val
config this 
$
于 2013-07-25T04:45:40.180 に答える
0

コードから NR==3 を削除しましたが、正常に動作しています

my_var=`echo "status:0 id:239965eb20557679348-1 aaa:[bbb:config this ccc:0.758]" | awk -F: '{print $3}'`

また、NR==3 を NR=3 に変更した場合も機能します

my_var=`echo "status:0 id:239965eb20557679348-1 aaa:[bbb:config this ccc:0.758]" | awk -F: 'NR=3{print $3}'`
于 2013-07-25T04:35:17.087 に答える