整个文本文件如下所示:
aa
...
bb
...
bb
...
aa
...
bb
...
行后aa
会有一行或多行bb
.
我尝试了下面的命令,它可以很好地处理所有行aa
和上面的行aa
。
grep -A 1 aa fileName
如何打印出所有行aa
和上面aa
的行以及第一行bb
之后的行aa
和该行之上的bb
行?
编辑:需要bb
为每次出现找到第一行(并且只有第一行) aa
,还打印出行号。也许我重新提出这个问题:对于每一行,在此之后aa
找到第一行,然后打印出这两个 line ,以及它们上面的行,以及行号。bb
aa
aa
bb
考虑下面的输入文件,第一列是行号,它不是输入文件的一部分
1 xxx
2 aa
3 xxxx
4 bb
5 bb
6 xxxx
7 aa
8 xxxx
9 xxxx
10 xxxx
11 bb
12 xxx
13 aa
14 xxx
15 bb
我想要输出:
1 xxx
2 aa
3 xxxx
4 bb
6 xxxx
7 aa
10 xxxx
11 bb
12 xxx
13 aa
14 xxx
15 bb