2016-02-03 34 views
0

我試圖尋找一個模式,然後使用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
sed '/3/ i NEW LINE 1.\nNEW LINE 2.\nNEW LINE 3.\n' file.txt 
+0

由於命令我插入一個換行符,結尾的換行符是隱式的,您可以將其刪除。 –

+0

@Hellmar貝克爾,它工作正常。謝謝! – itsh