给定一个包含
等数据的文件2015-12-24 22:02 12 9.87 feet High Tide
2015-12-25 03:33 12 -0.38 feet Low Tide
2015-12-25 06:11 12 Full Moon
2015-12-25 10:16 12 11.01 feet High Tide
2015-12-25 16:09 12 -1.29 feet Low Tide
此awk
命令将在第4列中返回最小值:
awk 'min=="" || $4 < min {min=$4} END{ print min}' FS=" " 12--December.txt
如何让它排除$ 4包含文本的任何行?我想这需要正则表达式,但仔细阅读正则表达式手册我不知道如何做到这一点。
答案 0 :(得分:2)
您可以在第四个字段上使用正则表达式比较
$4~/[0-9]+/
<强>测试
$ awk '$4~/[0-9]+/ && $4 < min {min=$4} END{print min}' input
-1.29
注意 这是代码的最小化版本。您可以安全地跳过示例代码中的一些语句,如测试代码