我想使用sed在模式之后的第n行之后插入单词。 我绑定修改此命令,但它只在模式后的第一行插入。
ul > ul
我应该使用什么命令插入格式后的第三行?
答案 0 :(得分:1)
使用GNU sed最简单的方法是...(也许存在一些直接的解决方案!?)
sed -n '/pattern/=' file
查看模式所在的行(grep也可以在这里使用-n)
然后如果linenumber + numoflines是例如123
sed '123aSOME INSERTED TEXT AFTER THAT LINE' file
其中很少是附加命令(在该行之后,如果使用i将是预先模式行)
PS。我很想知道@neronlevelu(或其他sed Lover)是否能找到更好的sed解决方案。
编辑:我发现它,它似乎是追加或我必须插入吗?使用{with;时在第一个位置上线里面}喜欢
sed '/pattern/{N;N;N;
a SOME TEXT FOR INSERTING
}' file
答案 1 :(得分:0)
sed '/pattern/{N;N;N;i \
Line to add after 3 lines with patterne as starting counter
' YourFile
N
个数。答案 2 :(得分:0)
包含bash
和ed
ed -s myFile <<<$'/myPattern/+3a\n LineIWantToinser \n.\nwq'
ed
使我们能够使用代码行/myPattern/+3
。