[英]Print Lines That Are Greater Than Two Fields
我對grep
,但我知道awk
在這種情況下可能更有效。 我正在學習,但還沒有到那里。
我有一些數據:
record1,14.2,10,50
record2,10.7,5,-
record3,9.3,6.8,10
record4,8,2.7,10
record5,5.5,22.4,10
record6,3,23.6,55
record7,2.7,14.6,-
我只想打印字段 3 中大於 7 且字段 4 中大於 10(同時刪除任何破折號)的行。因此,輸出將是這樣的:
record1,14.2,10,50
record6,3,23.6,55
我已經嘗試過使用awk '{print $3 > 7}'
,但是,就像我說的,我對awk
和條件並不擅長。 我可以用 grep 做到這一點,但我覺得這效率低下。 任何幫助是極大的贊賞。
awk 腳本的結構是condition { action }
。 默認操作是{ print }
,它打印整個記錄。
$3 > 7
和$4 > 10
。結合這些我們得到:
awk -F, '$3 > 7 && $4 > 10' file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.