поддерживает ли awk квантификаторы - я хочу [0-9] {6,6} - PullRequest
4 голосов
/ 11 февраля 2009

gawk не соответствует шестизначным полям или n-значным полям с использованием квантификаторов {n, m}

Это соответствует [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] ок.

Кажется, также не поддерживает \ d \ d \ d \ d \ d \ d.

Нужно ли включать расширенный регистр ex, или он просто не поддерживает это?

Tnx

Ответы [ 2 ]

10 голосов
/ 11 февраля 2009

Вам нужно указать флаг "--re-interval" (или "-W re-interval"), чтобы воспользоваться этим поведением.

echo 12345 | gawk --re-interval '/[0-9]{5}/{print}{}'
12345
echo 12345 | gawk --re-interval '/[0-9]{6}/{print}{}'
<no output>
3 голосов
/ 11 февраля 2009

Расширяя минимально ответ Pax, --posix также включает это поведение. Кроме того, вы правы, что gawk не поддерживает экранирование классов символов (например, \d), но поддерживает синтаксис [[:digit:]].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...