bash - 在 bash 中检查 .pgn 不区分大小写的扩展名的更短方法
问题描述
我正在编写一个 bash 程序,用于在文件夹中搜索 .pgn(便携式游戏符号)文件。但在我的程序中,.pgn 扩展名不区分大小写。这意味着它们可以是小写或大写或两者的组合。(.Pgn、.PGN、.pGn、.etc)。
所以为了检查扩展我这样做:
extension="${file: -4}"
extension="${extension,,}"
if [ "${extension}" == ".pgn" ]
我想知道是否有办法以更短的方式做到这一点。简而言之,我的意思是在if
声明中完成所有操作。
提前感谢您帮助我。
解决方案
使用 bash 和正则表达式:
if [[ "$file" =~ \.[Pp][Gg][Nn]$ ]]
推荐阅读
- c# - 如何使用 WorldCat API 检索提供 ISBN 的图书的所有书目数据
- javascript - 在 Array.prototype.find 的实现中,为什么我们需要使用 Objetct(this) 来转换为对象?
- haskell - 我无法理解的haskell中的意外错误
- node.js - 如何在express js,mongodb中使用put请求更新数据
- session - Symfony 5:“也许你忘记在实体管理器中持久化它了?” --> Doctrine 折旧的 merge() 函数的替代方案
- sql - Hash Group By 和 Sort Group By 在 Oracle 内部如何工作?
- r - visNetwork R:指定变量节点背景颜色和边框颜色
- php - 代客不使用 php.8 Nginx 返回 Bad Gateway
- angular - 具有相同起始路径的角度延迟加载页面
- github - 如何在私有组织仓库中发布带有 github 操作的私有 github 包?