【发布时间】:2013-12-05 13:59:15
【问题描述】:
我有一个看起来像这样的大文件:
line1
line2
line3;
line5
line6;
line7
line9
line10;
基本上,它是一堆行,其中一些以分号结尾。在这些带分号的行后面可能有也可能没有空行。
我想用这个文件做一些看起来相对简单的事情,但我还没有想出一个方法来做到这一点。我想调用一个 bash 脚本来识别那些以分号结尾的行,并在每行之后回显第一个非空行。
因此,在上面的示例中,输出将是:
line5
line7
我尝试了几种不同的方法,包括遍历整个文件,使用正则表达式检查当前行是否以分号结尾,以及切换布尔变量以确定是否应回显下一个非空行。但我没有运气。
似乎应该有更简单的方法,也许使用 grep,但我似乎无法想出它。关于实现这一点的好方法有什么想法吗?
【问题讨论】:
-
会不会有连续两行以';'结尾你需要';'之后的第一个非空行还是第一个不以';'结尾的非空行?
-
好问题。可能有两个以“;”结尾的连续行。如果是这种情况,我会想要第二行。所以我正在寻找';'之后的第一个非空行,无论它是否有';'与否。
标签: bash