使用sed在模式匹配之前插入字符串和换行符

时间:2016-02-03 13:55:15

标签: bash sed

我正在尝试搜索某个模式,然后使用sed在该模式匹配之前添加多行。我知道在使用regex sed之后添加行。但在这种特殊情况下,我无法弄清楚如何做到这一点。

Example: file.txt
I am here-1.
I am here-2.   
I am here-3.

我想在模式3之前添加几行。因此输出文件应如下所示:

I am here-1.
I am here-2.
NEW LINE 1.
NEW LINE 2.
NEW LINE 3.
I am here-3.

这就是我正在尝试的:sed '/3/ i NEW LINE 1.{G;} NEW LINE 2.{G;} NEW LINE 3.{G;}' file.txt >> file.txt

但它没有添加任何换行符,而是打印{G;}。我怎样才能解决这个问题?感谢。

1 个答案:

答案 0 :(得分:1)

sed '/3/ i NEW LINE 1.\nNEW LINE 2.\nNEW LINE 3.\n' file.txt
相关问题