使用shell,sed或awk在文件的每两行之间插入一个空行

时间:2012-11-02 18:35:42

标签: shell sed awk

我有一个包含多行的文件。我想在每两行之间插入一个空行 例如 原始文件

xfdljflsad
fjdiaopqqq
dioapfdja;

我想把它作为:

xfdljflsad

fjdiaopqqq

dioapfdja;

如何实现这一目标? 我想为此使用shell脚本,awk或sed? 谢谢!

4 个答案:

答案 0 :(得分:8)

使用sed,使用

sed G input-file

如果pilcrow是正确的,并且您不希望在文件末尾添加额外的换行符, 然后做:

sed '$!G' input-file

另一种方法是使用pr

pr -dt input-file

答案 1 :(得分:2)

awk'{print nl $ 0; nl =“\ n”}'文件

答案 2 :(得分:1)

如果我想快速正则表达文件,我的方法。

vim file.txt
%s/\n/\n\n/g    

答案 3 :(得分:1)

Idiomatic awk:

awk 1 ORS='\n\n' file

与perl类似:

perl -nE 'say' file

如果不需要最终换行符,请附加| head -n -1