Регулярное выражение не соответствует с помощью sed

Сgawk:

gawk -F '' '{ print ($1 > $2) ? $2$1 : $1$2 }' | sort | uniq -c

Каждое поле соответствует одному символу(-F ''). Мы просто инвертируем символы, если первый больше второго в соответствии с текущей локалью (, что не имеет значения ). Затем мы сортируем результат и подсчитываем одинаковые последовательные строки с помощью uniq -c.

1
18.07.2019, 22:35
1 ответ

+— это расширенный символ регулярного выражения, тогда как sedпо умолчанию использует базовые регулярные выражения.

В базовом регулярном выражении вы можете вместо этого использовать \{1,\}или\+(кажется, что только GNU sedзнает о \+и это не стандарт ).

Вы также можете переключить sedна использование расширенных выражений с помощью опции -E.

Связанные:

0
28.01.2020, 00:06

Теги

Похожие вопросы