【发布时间】:2013-04-23 05:22:41
【问题描述】:
整个文本文件如下:
aa
...
bb
...
bb
...
aa
...
bb
...
在aa 行之后会有一行或多行bb。
我尝试了下面的命令,它可以很好地处理所有行 aa 和上面的行 aa。
grep -A 1 aa fileName
如何打印所有行 aa 和上面的行 aa 以及第一行 bb 之后的行 aa 和上面的行 bb 行?
已编辑:需要为每次出现aa 查找第一行(并且仅是第一行)bb,同时打印行号。也许我重新表述这个问题:对于每一行aa,在aa之后找到第一行bb,然后打印出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
【问题讨论】: