LINUX.ORG.RU

[awk или не awk]оправдано ли?


0

0

есть задача, суть такова:

обрабатываем вывод одной бадяги для использования в dialog

на входе имеем файл такого вида

--input---------
foo: kakaya gadost

bar: prishlo vremya buhat
----------------

нужно сделать чтобы было так:

-------------------output-----
foo: \"kakaya gadost\" off 
bar: \"prishlo vremya buhat\" off
------------------------------
(первый без изменений, начиная со второго столбца окружить экранированными кавычками и дописать off)

сделал так:

awk '{ORS = ""} {print ($1,"\"")}{ORS=" "} {for(k=2; k<NF; ++k) {print $k }{ORS=""}{print $NF}} {print "\" off "}'


можно ли подобную бяку провернуть проще? 
★★★★★

sed -n -e 's/\([^ ]\+ *\)\(.*\)/\1\\"\2\\" off/p'

Или разделитель столбцов не обязательно пробел?

mky ★★★★★
()

sed -e "s/: /: \\\"/g;s/$/\\\" off/g"

kondor ★★★
()
Ответ на: комментарий от mky

спасибо, вот это я лопух оказывается, разделитель вроде как может быть и табом, но это думаю не важно

lazyklimm ★★★★★
() автор топика
Ответ на: комментарий от lazyklimm

Ну что тебе сказать, чтобы дух модератора не вызвать ?

пробел, таб, двоеточие ...

А потом ругают козла-заказчика, что он меняет тех. задание по десять раз на неделе.

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