如何将输出流中的换行符加倍

Ant*_*hon 12 text-processing

当我有一个输出流时:

a
b
c
d
e
Run Code Online (Sandbox Code Playgroud)

我怎样才能加倍换行符:

一种

乙

C

d

电子

Sté*_*las 21

sed G
Run Code Online (Sandbox Code Playgroud)

众所周知的单线

在性能方面,使用标准 Unix 工具箱最有效的可能是:

paste -d '\n' - /dev/null
Run Code Online (Sandbox Code Playgroud)

如果您不想在最后一行后添加空行:

sed '$!G'
Run Code Online (Sandbox Code Playgroud)

在输入行之前添加空行:

paste -d '\n' /dev/null -
Run Code Online (Sandbox Code Playgroud)

或者:

sed 'i\
/'
Run Code Online (Sandbox Code Playgroud)


Hac*_*lic 5

使用pr:分页文件

pr -t -d file.txt
Run Code Online (Sandbox Code Playgroud)

输出:

一种

乙

C

d

电子

使用awk

awk '{printf("%s\n\n",$0)}' file.txt
Run Code Online (Sandbox Code Playgroud)


fed*_*qui 5

随着awk您可以定义输出记录分隔符为双新行:

awk -v ORS="\n\n" 1 file
Run Code Online (Sandbox Code Playgroud)

然后,1执行默认awk操作:{print $0},即打印当前行。