後,我有以下內容X線插入線:sed的 - 之後的比賽
void function_1()
{
//something (taking only 1 line)
}
->INSERT LINE HERE<-
//more code
使用SED,我想在INSERT LINE HERE標籤插入線。 最簡單的方法應該是:
- 查找文本 「function_1」
- 跳過3線
- 插入新行
但沒有已知的SED選項做的工作。
sed '/function_1/,3a new_text
插入 'function_1'
sed '/function_1/,+3a new_text
插入NEW_TEXT之後的每個接下來的3行的,下面的 'function_1'
sed '/function_1/N;N;N; a new_text
插入NEW_TEXT在多個位置,而不是相關的後右NEW_TEXT到圖案
謝謝。
或者:'sed'/ function_1 /!{p; d;}; n; n; n;一個新文本'它更加迂迴,但在sed代碼中沒有換行符(因爲'a'命令是最後)。 – Wintermute
我想這種方法不適用於所有版本的sed,因爲POSIX指定你應該使用'a \'後跟一個換行符來追加文本。 –