我有一个文件:
bla bla bla
bla bla bla
a rs1
a rs2
a rs3
b rs4
b rs5
b rs6
bla bla bla
bla bla bla
其中 rsN 是随机的东西。
我正在尝试使用 a 获取最后一行,并使用 b 获取第一行:
a rs3
b rs4
使用:
> grep -Po "(?s)^a.*?$.*?^b.*?$" test.regexp
a rs1
a rs2
a rs3
b rs4
但显然我错过了什么。
感谢。
答案 0 :(得分:2)
您可以尝试使用awk
。
awk '$1=="a"{a=$0;next}$1=="b"{print a; print $0;exit}' file
[jaypal:~/Temp] cat file
bla bla bla
bla bla bla
a rs1
a rs2
a rs3
b rs4
b rs5
b rs6
bla bla bla
bla bla bla
[jaypal:~/Temp] awk '$1=="a"{a=$0;next}$1=="b"{print a; print $0;exit}' file
a rs3
b rs4