LINUX.ORG.RU

awk...


0

0

cat file | awk '/linux/ {print substr($1,1,19) "12" substr($1,20)}' > myfile

Вставляет у 20 символа цифры "12" в строке начинающейся словом "linux", при этом на вывод идут ТОЛЬКО строки содержащие "linux", а мне надо чтобы выводился весь файл, а в строки начинающиеся на "linux" вставлялось "12".

Как это сделать, перл не предлагать только awk, sed, etc...

anonymous

убрать /linux/ и вставить if(match($1,"linux)==1) <что-то там>?

fizteh
()

cat file | awk '{if (/linux/) {print substr($0,1,19) "12" substr($0,20)} else {print}}'

Laz ★★★★★
()

sed '/linux/ s/^\(.\{20\}\)/\112/'

lodin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.