Префикс соответствующих строк в файле - PullRequest
4 голосов
/ 17 января 2012

Я пытался сделать это сам со следующим:

for i in $(grep something toprefix.log); do sed -i -e 's/^/prefix/' $i; done

Прежде всего, извинения за головокружение - я знаю, что вышеупомянутое не работает!

В основномЯ хочу применить префикс к соответствующим строкам в файле журнала, используя grep и sed или awk.

prefix-matching
prefix-matching
not-matching
prefix-matching
not-matching
not-matching
prefix-matching

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 17 января 2012
$ sed -i '/something/s/^/prefix/' toprefix.log

Редактировать: Подробнее см. http://www.gnu.org/software/sed/manual/html_node/Addresses.html

Редактировать: Удалено «<», поскольку используется «-i». </p>

Редактировать: Вкладки \t, поэтому

$ sed -i '/something/s/^/prefix\t/' toprefix.log

добавляет prefix и вкладку.

1 голос
/ 17 января 2012

В awk:

awk '/something/{print "prefix\t"$0;next}1' myfile > mynewfile
...