使用bash / linux在某个特定行之后创建一个空行

时间:2016-11-11 18:02:36

标签: linux bash ssh sed blank-line

我需要在第45行之后使用sed

添加一个空白行

例如:

44 some text one
45 some text two
46 some text three
47 some text four

结果:

44 some text one
45 some text two
46 
47 some text three
48 some text four

我试过用

sed '45G' myfile.txt

但似乎没有工作,它会在屏幕上打印文件的内容,但不会在第45行之后添加任何空格

使用CentOS 7 minimal

2 个答案:

答案 0 :(得分:2)

你可以这样做:

sed $'45 a \n' file.txt
  • $''在使用sed

  • 时可能需要某些\n引用C风格的引用
  • 45 a \n在(\n)第45行之后附加换行符a

答案 1 :(得分:0)

sed用于单个行上的简单替换,即全部。对于其他任何事情,只需使用awk:

awk '{print} NR==45{print ""}' file

这适用于任何UNIX机器上的任何awk。