❯ cat test
tcp 0 0 127.0.0.1:172 0.0.0.0:*
tcp 0 0 127.0.0.1:171 0.0.0.0:*
tcp 0 0 127.0.0.1:170 0.0.0.0:*
tcp 0 0 127.0.0.1:589 0.0.0.0:*
tcp 0 0 127.0.0.1:600 0.0.0.0:*
tcp 0 0 0.0.0.0:2 0.0.0.0:*
tcp6 0 0 :::523 :::*
tcp6 0 0 ::1:611 :::*
tcp6 0 0 :::76 :::*
tcp6 0 0 :::17 :::*
❯ cat test |awk 'NR~/[1-3]/{print "行号为:" NR" "$0}'
行号为:1 tcp 0 0 127.0.0.1:172 0.0.0.0:*
行号为:2 tcp 0 0 127.0.0.1:171 0.0.0.0:*
行号为:3 tcp 0 0 127.0.0.1:170 0.0.0.0:*
行号为:10 tcp6 0 0 :::17 :::*
我想只显示第一行到第三行内容,最后执行完命令总是把最后一行也显示出来,请问这是什么原因?希望有老师帮忙解答一下谢谢
请教各位老师关于awk的问题
-
- 帖子: 96
- 注册时间: 2010-01-08 13:09
-
- 帖子: 96
- 注册时间: 2010-01-08 13:09
Re: 请教各位老师关于awk的问题
找到答案了,这是因为正则匹配的关系,1-3包括了1、2、3开头的行号