首页 > 解决方案 > 在 bash 中检查 .pgn 不区分大小写的扩展名的更短方法

问题描述

我正在编写一个 bash 程序,用于在文件夹中搜索 .pgn(便携式游戏符号)文件。但在我的程序中,.pgn 扩展名不区分大小写。这意味着它们可以是小写或大写或两者的组合。(.Pgn、.PGN、.pGn、.etc)。
所以为了检查扩展我这样做:

extension="${file: -4}"
extension="${extension,,}"
if [ "${extension}" == ".pgn" ]

我想知道是否有办法以更短的方式做到这一点。简而言之,我的意思是在if声明中完成所有操作。
提前感谢您帮助我。

标签: bashuppercaselowercase

解决方案


使用 bash 和正则表达式:

if [[ "$file" =~ \.[Pp][Gg][Nn]$ ]]

推荐阅读