我有一个这种格式的大文件:
Sequence
xxxxx 12 161
xxxxx 54 148
Sequence
hhhhh 4 110
gsgsgs 8 88
Sequence
jjjjj 1 45
skskkak 5 8
等等... 我只想要一个文件,其中第一个完整的行位于“sequence”一词之后(请注意,该词之后有一个空格)。即:
xxxxx 12 161
hhhhh 4 110
jjjjj 1 45
有什么帮助吗?我想用 awk 来做,但我不经常使用,所以我对正则表达式有点迷茫......
最佳答案
Sed
解决方案就像
$ sed -n '/Sequence/{n;n;p}' test
xxxxx 12 161
hhhhh 4 110
jjjjj 1 45
如果你想要awk
你可以试试
$ awk '/Sequence/{getline; getline; print}' test
xxxxx 12 161
hhhhh 4 110
jjjjj 1 45
或
短得多
awk '/Sequence/{x=NR+2}NR==x'
感谢 Jidder 的建议
关于regex - 使用特定的正则表达式从一个巨大的重复文件中提取特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27012565/