我想要在使用sed的模式之後的第n行之後插入字。 我綁定修改這個命令,但它只在模式後的第一行插入。在使用sed的模式之後在第n行中的文件中插入字符串
sed -i '/myPattern/a \ LineIWantToinser ' myFile
我應該用什麼命令在模式後插入第三行?
我想要在使用sed的模式之後的第n行之後插入字。 我綁定修改這個命令,但它只在模式後的第一行插入。在使用sed的模式之後在第n行中的文件中插入字符串
sed -i '/myPattern/a \ LineIWantToinser ' myFile
我應該用什麼命令在模式後插入第三行?
sed '/pattern/{N;N;N;i \
Line to add after 3 lines with patterne as starting counter
' YourFile
N
添加圖案和插入線之間線。最簡單方法是。(也許有些直接的解決方案存在!?)
sed -n '/pattern/=' file
看行,其中圖案(grep的,也可以這裏所用的-n)
然後如果行號+ numoflines是例如123
sed '123aSOME INSERTED TEXT AFTER THAT LINE' file
其中小一個是附加命令(該行後,如果i用於無線將是預先圖案線)
ps。我很想看看@neronlevelu(或其他sed愛好者)是否會找到一些更好的sed解決方案。
編輯:我發現它,它似乎是追加或我插入必須?在使用{with;裏面}像
sed '/pattern/{N;N;N;
a SOME TEXT FOR INSERTING
}' file
一個版本bash
和ed
:
ed -s myFile <<<$'/myPattern/+3a\n LineIWantToinser \n.\nwq'
ed
使我們能夠使用線尋址/myPattern/+3
。
你想要那條線後的第N條線?或者第N行之後的那條線與那個模式?或者在第N行之後的第N行使用該模式?無論你想要'sed'的情況可能都不是最好的工具。 'awk'可能會更容易一些(儘管你應該可以很輕鬆地用'sed'做一些)。 –