0

これがなぜなのかを理解するためにズームを探しています:

palabra=s_gonzalez
i=10
awk -vvar1=$palabra -vvvar2=$i '( $1 == var1 ) && ( $2 == var2 ) {print $0}' As

何も印刷していません。Asファイルには次が含まれます。

r_castillo  10
flores  6
s_gonzalez  10
o_gutzwiller    12
h_ji    4

ご提案いただきありがとうございます。

4

2 に答える 2

3

どこにいますか:

vvar2

つづりを間違えましたvar2か?

于 2012-06-01T00:00:54.907 に答える
0

この種の問題を回避する手法として、 を使用せずに変数を割り当てることができます-v。コマンドを次のように書き直します。

awk '$1==var1 && $2==var2' var1=$palabra var2=$i As

-vプログラムの前にオプションとしてではなく、プログラムの後に変数を引数として割り当てる方が常に簡単に思えます。(-v割り当てはBEGINブロックで使用できますが、この場合は関係ありません。)

于 2012-06-01T14:26:20.790 に答える