这些是我正在应用的数据awk
:
~$ cat lab4.data
Mike Harrington: (510) 548-1278:250:100:175
Christian Dobbins: (408) 538-2358:155:90:201
Susan Dalsass: (206) 654-6279:250:60:50
Archie McNichol: (206) 548-1348:250:100:175
Jody Savage: (206) 548-1278:15:188:150
Guy Quigley: (916) 343-6410:250:100:175
Dan Savage: (406) 298-7744:450:300:275
Nancy McNeil: (206) 548-1278:250:80:75
John Goldenrod: (916) 348-4278:250:100:175
Chet Main: (510) 548-5258:50:95:135
Tom Savage: (408) 926-3456:250:168:200
Elizabeth Stachelin: (916) 440-1763:175:75:300
我需要查找最后一个值小于的行75
。但条件$5<75
不起作用。以下是awk
我使用的命令示例:
awk -F: '$5 < 50 {print $0}' lab4.data
以下是我通过上述命令得到的输出:
~$ awk -F: '$5 < 50 {print $0}' lab4.data
Mike Harrington: (510) 548-1278:250:100:175
Christian Dobbins: (408) 538-2358:155:90:201
Archie McNichol: (206) 548-1348:250:100:175
Jody Savage: (206) 548-1278:15:188:150
Guy Quigley: (916) 343-6410:250:100:175
Dan Savage: (406) 298-7744:450:300:275
John Goldenrod: (916) 348-4278:250:100:175
Chet Main: (510) 548-5258:50:95:135
Tom Savage: (408) 926-3456:250:168:200
Elizabeth Stachelin: (916) 440-1763:175:75:300
答案1
答案2
您的输入文件 lab4.data 可能是在 Windows 中创建的,并且具有 CRLF 行尾。
如果输出
awk -F: '{print $NF}' lab4.data | hexdump -c
其中包含“\r \n”,而不是用于换行的“\n”,情况就是这样。然后您可以将文件转换为 UNIX 格式,请参阅这里,并使用转换后的文件作为 AWK 的输入。