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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.