Вы можете добавить текст к $0
в awk, если он соответствует условию:
awk '/^all:/ {$0=$0" anotherthing"} 1' file
Объяснение
/patt/ {...}
, если строка соответствует шаблону, заданномуpatt
, затем выполните действия, описанные в {}
. - В этом случае:
/^all:/ {$0=$0" anotherthing"}
, если строка начинается (представлена ^
) с all:
, затем добавьте anotherthing
кline. 1
как истинное условие, запускает действие по умолчанию awk
: вывести текущую строку (print $0
).Это будет происходить всегда, поэтому будет либо печатать исходную или измененную строку.
Test
Для заданного вами ввода возвращается:
somestuff...
all: thing otherthing anotherthing
some other stuff
Обратите внимание, что вы также можете указать текст для добавления в переменную:
$ awk -v mytext=" EXTRA TEXT" '/^all:/ {$0=$0mytext} 1' file
somestuff...
all: thing otherthing EXTRA TEXT
some other stuff