awk 第x1行 到 第x2行

1. 用NR或者FNR来选择行范围

awk 'NR==5,NR==7 {print $0}'  demo.txt

awk 'NR>=5 && NR<=7 {print $0}'  demo.txt

 

两者效果一样:  输出demo.txt中从第5行 到 第7行

 

把 NR  换成 FNR,则表示  如果输入文件有多个,那么每个文件的第一行从0开始计数

 

 

awk 'FNR==5,FNR==7 {print $0}'  demo1.txt demo2.txt

 

这两个文件的从第5行 到 第7行

 

2. /pattern1/, /pattern2/

第一个匹配pattern1的行  到  第一个匹配pattern2的行  之间的所有行

awk ' /pattern1/, /pattern2/ {print $0}'  demo.txt

你可能感兴趣的:(awk,选择行范围,FNR,NR)