awk ifコマンドは19列しか印刷できませんが、2つの列を印刷するにはどうすればよいですか?

awk ifコマンドは19列しか印刷できませんが、2つの列を印刷するにはどうすればよいですか?

列3と列4を印刷したいのですが、ヘッダーの空の列行は印刷しません。

header
tap
norm 
X Y       880 1787
X Y       3253 3439

これを印刷してawk '{print($3,$4)}'提供

(BLANK lines from header rows)
880 1787
3253 3439

これは列19の印刷にのみ機能しますが、両方の列を印刷するにはどうすればよいですか?

awk  '$3{print $3}' 
880
3253

私はcol3 col4が欲しい

880 1787
3253 3439

試しましたが、3列だけが印刷されました。

awk '$3{print $3}''$4{print $4}' 
880
1787
3253
3439

ベストアンサー1

頭の長さがどれくらいになるか知っていますか(3行):

awk 'NR > 3 { print $3, $4 }'

NRこれまでに読み取ったレコードの数(デフォルトは行数)です。 4行目とすべての後続行でステートメントをNR > 3トリガーします。print

あなたできる使用

awk '$3 { print $3, $4 }'

$3しかし、これは存在するだけでなくゼロでもないかによって異なります。

おすすめ記事