bash 使用正则表达式查找不区分大小写

2024-01-10

我需要查找以三个小写字母开头的文件,但由于某种原因,我遇到了不希望的不区分大小写的行为。 我将 find 与 -regex 选项一起使用,但它甚至找到以大写字母开头的文件。

$ find . -regextype posix-egrep -regex '.*/[a-z]{3}\w+\.abc'
./TTTxxx.abc
./tttyyy.abc

打印结果与:

$ find . -regextype posix-egrep -regex '.*/[A-Z]{3}\w+\.abc'
./TTTxxx.abc
./tttyyy.abc

如果我不使用一系列字符,而是使用单个字符,则将作为敏感字符,仅打印小写文件。

find . -regextype posix-egrep -regex '.*/[t]{3}\w+\.abc'
./tttyyy.abc

我尝试过使用不同的正则表达式类型,结果是相同的。

此外,egrep 似乎可以工作:

find . -regextype posix-egrep -regex '.*/.+\.abc' |  egrep '/[a-z]\w+\.abc'
./tttyyy.abc

为什么使用字符范围时“find -regex”不区分大小写?

Note:我需要使用 find 因为我需要 -exec 选项。

非常感谢。


根据为什么 [A-Z] 在 bash 中匹配小写字母? https://unix.stackexchange.com/questions/227070/why-does-a-z-match-lowercase-letters-in-bash,排序规则是这里的问题:

与语言环境(例如 en_US)的标准排序规则具有以下顺序:

aAbBcC...xXyYzZ

Between a and z (in [a-z]) 均为大写字母,除了Z。 之间A and Z (in [A-Z]) 均为小写字母,除了a.

因此,您需要显式列出所有小写字母或更改排序规则:$ export LC_COLLATE=C并使用标准[a-z].

[...]{3}\w\.abc- 这个模式,在哪里[...] is [a-z]或列出的小写字母,将为您提供文件名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bash 使用正则表达式查找不区分大小写 的相关文章

随机推荐

  • WPF - UserControl 默认内容属性

    我正在创建一个 UserControl 但我不记得您用来装饰要充当默认内容属性的属性的属性名称 举一个具体的例子 假设我有一个名为 Title 的属性 我可以使用如下属性语法进行设置
  • php - 如何将变量增加 100 [重复]

    这个问题在这里已经有答案了 我正在查询一个 URL 通过 php 命令行 该 URL 一次仅返回 100 个值 因此 我该如何自动增加它 而不是手动增加 增加 100 呢 例如 URL 是 example com getdata php s
  • Selenium Webdriver:删除所有域上的 Cookie

    在 Selenium 中 您只能删除当前域上的 Cookie 但是是否可以导航到 Firefox 存储 Cookie 的文件并删除该文件或覆盖它 我一直在四处寻找 但找不到硒存储饼干的地方 可以指定一个用户目录然后进行操作
  • VS Code 未经验证的断点

    我正在尝试在 VS Code v 1 24 0 中调试 Node Express TypeScript 应用程序 但在调试过程中我的所有断点都显示为灰色 错误是 未验证断点 已设置断点但尚未绑定 我已经搜索过 但无法弄清楚我的配置有什么问题
  • 如何使用 REST 控制台对 http API 调用进行逆向工程

    我正在尝试使用 chrome 使用相同的 http POST 参数复制我在网站 即 Zoominfo com 上发出的请求休息控制台 https chrome google com webstore detail rest console
  • swift4:此客户端应用程序未批准回调 URL

    我正在使用 swift4 我想使用 twitter 登录应用程序 但是当我按下 使用 twitter 登录 按钮时 出现此错误 回调 URL 未批准用于此客户端应用程序 可以在您的应用程序设置中调整批准的回调 URL UserInfo NS
  • 使用Python获取DNS解析时间和响应时间

    PycURL 或任何其他 python 包是否提供以下信息 lookup 连接时间 我想获得与此 cURL 命令相同的信息 不使用子进程调用该命令 Command curl s w nLookup time t time namelooku
  • 我正在计算观看次数,但这会导致错误

    错误名称 page hits 用takes context True修饰 因此它必须有第一个参数 context 我制作了视图计数器 该函数必须处理人员对站点的输入并将其输出到模板 请提供现成的修复代码已经阅读了很多https docs d
  • 拒绝安装“模块”作为其自身的依赖项

    最近 我在玩 gulp 教程时遇到了这个错误 Refusing to install gulp as a dependency of itself 执行时 npm install save dev gulp 可能是什么问题 问题出在我自己的
  • Ruby:如何将变量设置为 0,或者如果已设置,则增加 1

    我知道 运算符 但认为它不会对我有帮助 尝试创建一个数组来计算对象数组中 类型 的数量 array each do c newarray c type newarray c type newarray c type 1 0 end 有没有更
  • 如何修复错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

    我正在尝试在 VirtualBox 机器上全新安装的 Linux 上安装 odoo 我已按原样输入此处找到的命令 Odoo 开发阅读文档 http odoo development readthedocs org en latest ins
  • 使用 jquery 窗口大小动态调整元素大小

    我已经查看了有关此主题的许多问题 但似乎无法找出我的代码有什么问题 任何帮助将不胜感激 window resize function var newwidth window innerWidth var newheight window i
  • 如何让 PHP 5.3.8 读取 .user.ini 文件?

    我有一台运行 Apache 2 2 21 和 PHP 5 3 8 的 Mac OS X 服务器 我想在每个目录的基础上设置一些 php ini 样式指令 根据PHP手册页 http www php net manual en configu
  • 如何在 Groovy 中在特定日期和时间创建新日期

    我想知道是否还有其他方法如何创建新的Date在特定日期和时间的 Groovy 中 而不是从中解析它String with Date parse方法 我可以得到完整的清单吗Date在 Groovy 中创作 您可以使用现有的 Java 方法来创
  • gstreamer playbin - 在 Windows 上设置 uri

    我正在尝试使用此站点上的 CLI 示例播放一些音频文件 http pygstdocs berlios de pygst tutorial playbin html http pygstdocs berlios de pygst tutori
  • C代码中的QA C警告消息[重复]

    这个问题在这里已经有答案了 我编写了以下一段代码并通过 QA C 进行了分析 但它显示了警告 x 具有外部链接 并且正在定义而没有任何先前的声明 请帮助我理解这一点 Code include
  • 使用 cURL 命令时出现 URL 问题

    我在使用curl 来使用网络服务时遇到了问题 如果我们使用 Postman 消费 有一个 URL 可以正常工作 但如果通过 cURL 消费 则失败 Postman 中的 URL 工作正常 https localhost WebService
  • R 将矩阵的行乘以向量的行的最快方法

    我想将矩阵的行乘以向量的每一行 元素 而不是整个向量 正如已经发布的另一个问题所讨论的那样 例如 我想使用这两个矩阵 或者 oo 是一个向量 因为它是一列 oo matrix 1 3 3 1 oop matrix 1 9 3 3 byrow
  • 如何检查滚动条是否可见?

    是否可以检查overflow auto一个 div 的 例如 HTML div style width 100px height 100px class my class content div JQUERY my class live h
  • bash 使用正则表达式查找不区分大小写

    我需要查找以三个小写字母开头的文件 但由于某种原因 我遇到了不希望的不区分大小写的行为 我将 find 与 regex 选项一起使用 但它甚至找到以大写字母开头的文件 find regextype posix egrep regex a z