bash スクリプトで正規表現またはその他の方法でファイル拡張子 .en.html を正確に一致させる方法

bash スクリプトで正規表現またはその他の方法でファイル拡張子 .en.html を正確に一致させる方法

.en.html$のような正規表現を使用して、.en.htmlで終わるファイル名を正確に一致させようとしています。たとえばz_.en.htmlは機能しますが、a.len.htmlでは機能しません。.len.htmlと一致します。

何か助けて?

答え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/正規表現の問題をデバッグするのに非常に役立ちます。

関連情報