列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
しかし、これは存在するだけでなくゼロでもないかによって異なります。
答え2
もし
header
tap
norm
X Y 880 1787
X Y 3253 3439
それから
awk '{print $3 " " $4}' | sed '/^ *$/d'
作る
880 1787
3253 3439
最後の部分では試してみてください。
awk '{print $3 " " $4 " " $19}'
列3、4、19を印刷します。