只删除第一个空行 sed

blu*_*lue 4 sed

这里有类似的问题,但没有一个完全符合我的问题。

如何使用 sed 仅删除文件中的第一个空行?

假设我有

a

b

c
Run Code Online (Sandbox Code Playgroud)

而且我要

a
b

c
Run Code Online (Sandbox Code Playgroud)

作为输出。

Adr*_*rth 5

请参阅此处的sed常见问题解答:

$ sed '0,/^$/{//d}' lines
a
b

c

d
Run Code Online (Sandbox Code Playgroud)

请注意,这只会删除真正的空行,如果您想考虑带有空格的行,您将使用

$ sed '0,/^[[:space:]]*$/{//d}' lines
Run Code Online (Sandbox Code Playgroud)

反而。