如何在 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/對於調試正規表示式問題非常有用。

相關內容