LINUX.ORG.RU
ФорумAdmin

mysql парсинг через awk. Разделитель.

 ,


0

1

Добрый день!
Есть вывод из mysql:
| part | note | mfr |
+----------+-----------------------------------------------------------------------+-----------------------------------------+
| TDA1557 | 2 x 22 W BTL stereo car radio power amplifier with speaker protection | PHILIPS [NXP Semiconductors] |

Надо это как вывести через awk, чтобы второе и третье поле AWK не разделял по словам, а в $2 содержалось целеком «2 x 22 W BTL stereo car radio power amplifier with speaker protection»

Сейчас вы вод делается так awk '{print $2}'. Я понимаю, что нужно сменить разделитель awk -Fчто-то '{print $2}'. Знает может кто, какой разделилтель надо поставить чтобы awk его парсил как разелителе полей таблицы, а не пробелов в строке?


-F '|' что-ли?

А вобще, для парсинга скриптом mysql лучше запускать с опциями -Bs, тогда будет разделитель TAB. Вот ещё похожее Bash + MySQL поля с несколькими словами (комментарий)

Или строку можно делить через функцию split() в awk как в этом примере: http://awk.info/?doc/tools/mysql.html

mky ★★★★★ ()
$ echo '| TDA1557 | 2 x 22 W BTL stereo car radio power amplifier with speaker protection | PHILIPS [NXP Semiconductors] |' | awk -F\| '{print $2}'
TDA1557


Я таки рекомендую переключиться на Perl + DBI + DBD::MySQL.

AITap ★★★★★ ()

man awk

или в Job

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