2015-10-02 5 views
1

Я пытаюсь добавить еще одну строку на мои сообщения в Octopress. ЭтоКак использовать sed для добавления новой строки текста после сопоставленного шаблона?

comments: true

У меня есть около 200 сообщений, так что я хотел бы сделать это на одном дыхании. Я тестировал это, но он, похоже, не работает.

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

В результате я хочу.

title: 'Blah Blah.' 
comments: true 

ответ

0

Это работает?

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

@BigOldTree «s предложение:

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

Почему бы вам не использовать метод sed, чтобы сделать это вместо использования замещения, которое работает, но r набирает больше текста? – tinySandy

0

AWK на помощь! (В качестве альтернативы SED, что может быть лучше подходит для выполнения этой задачи)

печать на следующей строке после того, как шаблон

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

печати на предыдущей линии рисунка

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

печати на одна и та же линия рисунка

$ awk '/pattern/{print $0, "comments: true"; next} 1' 
Смежные вопросы