Небольшое дополнение для статьи по awk.

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Reiser
проходил мимо

Небольшое дополнение для статьи по awk.

Непрочитанное сообщение Reiser » 2010-04-21 17:25:13

Можно где-нибудь в статье об awk упомянуть об операторе ~? Где-нибудь тут, т.к. пользуюсь awk редко и всё время приходится вспоминать, что ~ означает.
3) Шаблон может формировать множество образцов или указывать, в каком месте поля искать:
/^a/ - поле начинается с "a"
/a$/ - поле кончается "a"
\+ - экранирует оператор
[abc] - любой из символов "a", "b" и "c"
[a-р] - любой символ диапазона
* - 0 или больше вхождений регулярного выражения
+ - 1 или больше вхождений регулярного выражения
? - 0 или 1 вхождение регулярного выражения
ab|cd - "ab" или "cd"
Спасибо за статью.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Reiser
проходил мимо

Re: Небольшое дополнение для статьи по awk.

Непрочитанное сообщение Reiser » 2010-04-21 17:27:13

Или даже лучше здесь
2)
/ab/ отлично от /a b/, / ab/ и /ab /
Nполя ^шаблон - по совпадению
Nполя !^шаблон - по несовпадению


Гость
проходил мимо

Re: Небольшое дополнение для статьи по awk.

Непрочитанное сообщение Гость » 2010-04-22 2:18:52

~ - это оператор сравнения по regexp'ам, эквивалент функции match().
awk '$2 ~ /blah/' или awk '$2 ~ "blah"' или awk '{ if(match($2, "blah")) print }'

cf: http://www.grymoire.com/Unix/Awk.html#uh-11