Chinaunix
标题:
shell 文件最大范围行匹配
[打印本页]
作者:
a6447
时间:
2015-12-17 23:33
标题:
shell 文件最大范围行匹配
有一个上万行内容的文件b.log,内容如下:
...
12378 aaaaaaaaaa ----------待截取的开始A
12378 bbbbbbbbbbaa
12378 ccdadfdfda
12378 adfjkdfj
lkd adf
dafjk df
dflkaja d
dafkj a45
12378 adldkfn daf
12378 adl ladjf ------------待截取的结束B
12379 lkadfj alkdf
...
我希望把最开始出现“12378”至最末出到“12378”的范围内容截取出来(即AB之间的内容),其中12378为序号标识。请问应该怎么处理,谢谢
作者:
MMMIX
时间:
2015-12-18 00:00
回复
1#
a6447
把文件读入数组,找到需要截取内容的第一行和最后一行的下标,即可获取其内容。
作者:
yjh777
时间:
2015-12-18 09:29
awk 'BEGIN{s=0; e=0} /12378/{if (s != 0) {e=NR} else {s=NR}} END {printf("%s,%sp\n", s, e)}' $urfile >kkk.sed
sed -nf kkk.sed $urfile
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2