Регулярное выражение egrep: наличие [ и ] или точки в классе символов не соответствует

Во-первых, я думаю, что большинство 32-битных дистрибутивов умирают, и если ваш ноутбук/компьютер не старше ~2008 года, я бы рекомендовал использовать 64-битную версию.

Убедитесь, что все настройки BIOS верны, особенно приоритеты загрузки. Перед загрузкой с жесткого диска убедитесь, что USB-диск не подключен.

Я часто сталкивался с неудачной установкой по той или иной причине, и мне приходилось переустанавливать. Может быть, попробуйте переустановить и тщательно пройти все шаги по разбиению, чтобы убедиться, что все правильно.

0
25.03.2020, 19:04
1 ответ

Первый из них, \([.]+\), будет соответствовать буквенным точкам внутри буквенных скобок, например (...)и т. д. Другие не соответствуют шестнадцатеричным цифрам выше 9, то есть abcdef. В 671dесть d. Помните, что адреса IPv6 имеют шестнадцатеричный формат.

Их нужно добавить, так что:

echo 'files ([2001:450:671d:200::121]:59464).' | egrep 'files \([][0-9a-f:]+\)\.$'

или точнее:

echo 'files ([2001:450:671d:200::121]:59464).' | egrep 'files \(\[[0-9a-f:]+\]:[0-9]+\)\.$'

или используйте a-fA-Fв квадратных скобках, если вам также нужно иметь дело с шестнадцатеричными цифрами в верхнем регистре.

1
28.04.2021, 23:19

Теги

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