我正在尝试搜索某个模式,然后使用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;}
。我怎样才能解决这个问题?感谢。
答案 0 :(得分:1)
sed '/3/ i NEW LINE 1.\nNEW LINE 2.\nNEW LINE 3.\n' file.txt