regex - 如何查找名称中带方括号的文件

标签 regex linux find

我试图找到一些带有方括号的文件,但我似乎无法让它工作。

我的文件是这样命名的:

[ABC] 测试文件.txt

正则表达式我正在尝试:

find . -iregex '\[abc\].*test.*'

由于某些原因,这似乎行不通。如果我将它替换为 -

find . -iregex '.*abc.*test.*'

- 它工作正常。所以问题出在方括号上。有什么想法吗?

最佳答案

没有匹配的方括号不是问题。问题是匹配文件的路径。请记住,find 的输出以当前路径的 ./ 开头。

所以你的 find 命令中的这个正则表达式对你有用:

find . -iregex '\./\[abc\].*test.*'

关于regex - 如何查找名称中带方括号的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528197/

相关文章:

c++ - 为什么 string::find 的行为不同?

bash - 如果其中一个文件失败,如何退出 find -exec

Python 美丽汤 : finding an element after a specific string

linux - yocto do_patch 不适用于 native

linux - 使用 git 和 upstart pull 远程更改

c++ - 两种链接 boost 正则表达式的方法出错

java - 使用 Java + 正则表达式从文本文档中提取 URL

linux - 现有内核驱动程序应如何初始化为 PCI 内存映射?

regex - 使用正则表达式捕获多行字符串并将其替换为自身,在每一行缩进

java - 如果字符串可能在第一个位置包含像制表符这样的分隔符,如何将字符串拆分为非空单词