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 に答える