>Имеются строки следующего вида (модифицированный /etc/hosts):
>IP-адрес имя[... [#% [флаги]]]
>Вопрос: как с помощью gawk находить строки с '#%'.
>На "#", "%" и "\" он ругается.
Простите, а какой операционной системой пользуетесь?
Смоделировал я у себя вашу ситуацию (Red Hat 7.2, gawk 3.1.0) и никаких
проблем не обнаружил:
=========================================================================
user@host:tmp$ cat hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.168.1.1 host1.example.ru host1 #% flag_1
192.168.1.2 host2.example.ru host2 #% flag_2
127.0.0.1 localhost
user@host:tmp$ cat hosts | gawk '{if ($4 == "#%") print $0}'
192.168.1.1 host1.example.ru host1 #% flag_1
192.168.1.2 host2.example.ru host2 #% flag_2
user@host:tmp$ cat hosts | gawk -F"#%" '{print $2}'
flag_1
flag_2
=========================================================================