如何打印文本文件的内容并在每行后留一个空白行?

如何打印文本文件的内容并在每行后留一个空白行?

这是我输入的内容和得到的输出:

$ cat helloworld.txt

Hello World!
I'm Kanladaporn Sirithatthamrong
6480952

但这就是我想要的输出:

Hello World!

I'm Kanladaporn Sirithatthamrong

6480952

我该怎么办?有什么建议吗?

答案1

使用pr

$ pr -Td helloworld.txt
Hello World!

I'm Kanladaporn Sirithatthamrong

6480952

$

man pr

   -d, --double-space
          double space the output

   -T, --omit-pagination
              omit page headers and trailers, eliminate any pagination by form feeds set in input files

答案2

您可以使用sed

sed G helloworld.txt

若要仅在没有空行时添加换行符,请使用:

sed '/^$/d;G' helloworld.txt

参考:方便的 SED 单行命令

答案3

将 awk 的输出记录分隔符更改为两个换行符,而不是默认的一个:

awk 'BEGIN { ORS = "\n\n"} { print }' helloworld.txt

答案4

awk '{print;print ""}' helloworld.txt

相关内容