在UNIX中不同行数后插入空行

Nik*_*nha 4 sed

假设我有一个包含以下数据的文件 abc.csv:

abc
def
geh
ijk
lmn
opq
rst
Run Code Online (Sandbox Code Playgroud)

现在,我想在第 2 行和第 6 行之后插入空行。

请建议我应该使用哪个命令。

Sté*_*las 12

$ seq 10 | sed '2G;6G'
1
2

3
4
5
6

7
8
9
10
Run Code Online (Sandbox Code Playgroud)

G sed命令在模式空间中附加一个换行符,后跟保持空间的内容(这里是空的,因为我们没有在其中放置任何内容)。因此,这是在匹配行下方添加空行的快速方法。

其他替代方法是aands命令:

sed '2a\

6a\
'
Run Code Online (Sandbox Code Playgroud)

或者:

sed '2s/$/\
/
6s/$/\
/'
Run Code Online (Sandbox Code Playgroud)

一些sed实现还支持:

sed '2s/$/\n/;6s/$/\n/'
Run Code Online (Sandbox Code Playgroud)