如何使用sed在匹配模式后添加新的文本行?

时间:2015-10-02 18:10:19

标签: regex sed octopress

我试图在Octopress的帖子中添加一行。它' S

comments: true

我有大约200个帖子,所以我想一次性完成。我正在测试这个,但它似乎没有用。

echo title: 'Blah Blah.' | sed "s/'title: .*'/'title: .*'\n'comments: true'\n/g"

我想要的结果是。

title: 'Blah Blah.'
comments: true

2 个答案:

答案 0 :(得分:0)

这有用吗?

echo title: 'Blah Blah.' | sed "s/'title: .*'/'\1\r\ncomments: true'\n/g"

@BigOldTree的建议:

echo title: 'Blah Blah.' | sed "/title: .*/a comments: true"

答案 1 :(得分:0)

要求救援! (作为sed的替代品,可能更适合此任务)

在模式之后的下一行打印

'string'

打印上一行模式

$ awk '1; /pattern/{print "comments: true"}' file

在相同的图案线上打印

$ awk '/pattern/{print "comments: true"} 1' file