得到所有行不以sed中的'rpms'结尾

时间:2016-03-07 01:43:31

标签: regex sed

我想在这些行附加以下行。如果您有任何好的提示,请告诉我。非常感谢。

我试过了

[2.9, 11.0, 23.0, 0.3, 3.5, 12.0]

但失败了。

3 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题(疯狂猜测),您希望删除/删除所有在结尾都有rpms的行。然后只匹配(rpms$)并使用删除命令/.../d

sed -e '/rpms$/d' filename

答案 1 :(得分:0)

我认为你正在寻找能够在一行上放置不以rpms结尾的行:

!

不是试图否定模式,而是可以否定测试本身,将否定运算符:a放在模式之后。

为了处理最后没有rpms的两行以上的情况,我将标签ba和无条件跳转 * *** ***** public static String drawDiamond(int n) { String results = ""; int cols = 1; int spaces = n / 2; while (cols <= n) { results += drawChars(" ", spaces) + drawChars("*", cols) + "\n"; /*-------------------------------------------------------------------------------- while(cols>=n){ results += drawChars(" ", spaces) + drawChars("*", cols)+"\n";<--- this was just test code. cols-=2; spaces++; } */-------------------------------------------------------------------------------- cols += 2; spaces--; } return results; } 添加到此标签。

答案 2 :(得分:0)

这可能适合你(GNU sed):

sed ':a;N;s/rpm\n/rpm/;ta;P;D' file

在模式空间中读取两行,如果第一行以rpm结尾,则删除以下换行符并重复。否则打印第一行然后删除它并追加下一行并行并重复。

相关问题