1

我有一个文件:

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

但显然我错过了一些东西。

谢谢。

4

1 回答 1

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
于 2012-02-02T19:09:03.940 回答