awk输出指定行

sh/bash/dash/ksh/zsh等Shell脚本
回复
fdmm1989
帖子: 1
注册时间: 2016-04-12 21:03
系统: windows

awk输出指定行

#1

帖子 fdmm1989 » 2016-04-12 21:07

各位大神,
我用awk提取文件中某几行数据,

NR==14 {bp=$4}
/Refined/ {i=NR}
NR>=i+1&&NR<=i+bp-1 {printf ("%9.2f",$3)}

貌似每次输出都会多输出几个数据,有大神知道为什么吗?
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: awk输出指定行

#2

帖子 cao627 » 2016-04-13 21:51

@fdmm1989
还是说说你的逻辑吧

i这个变量在没有匹配到/Refined/ 时是null在awk中等同于0,在匹配到/Refined/时是匹配行号,设为n

所以下面的打印就有两种可能
NR>=0+1&&NR<=0+bp-1
NR>=n+1&&NR<=n+bp-1

估计NR>=0+1&&NR<=0+bp-1是你不需要的?
回复