Как точно сопоставить точное расширение файла .en.html с регулярным выражением или другим способом в сценарии bash

Я пытаюсь сопоставить имя файла, которое заканчивается точно на .en.html, используя регулярное выражение например .en.html $ Для него работает пример z_.en.html, но не работает с a.len.html - он соответствует .len.html

Любая помощь?

0
задан 5 September 2018 в 03:33
1 ответ

Вам нужно избежать . , который является считается подстановочным знаком в регулярном выражении:

~$ [[  z_.en.html =~ \.en\.html$ ]] && echo match || echo no_match
match
~$ [[  a.len.html =~ \.en\.html$ ]] && echo match || echo no_match
no_match

Кроме того, https://regex101.com/ очень полезен для отладки проблем с регулярным выражением.

0
ответ дан 5 December 2019 в 05:18

Теги

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