Bash 使用Find命令查找具有模式的文件
我有三种类型的文件Bash 使用Find命令查找具有模式的文件,bash,find,Bash,Find,我有三种类型的文件 具有xxxyy.A[1-9][0-9]*B的文件;示例:ABC.A10B 具有xxxyy_random.A[2-9][0-9]*B的文件;示例:ABC\u random.A2B 具有XXXYY_测试.A[1-9][0-9]*B的文件;示例:ABC\u测试.A14B 我想找到所有类型1和类型2文件。我只需要类型3的A1Bxxxyy_测试 为此,我编写了以下bash命令 find-名称“*.A[1-9]*B”-名称“*_test.A[2-9][0-9]*B” 但是上面的命令打
- 具有xxxyy.A[1-9][0-9]*B的文件;示例:
ABC.A10B
- 具有xxxyy_random.A[2-9][0-9]*B的文件;示例:
ABC\u random.A2B
- 具有XXXYY_测试.A[1-9][0-9]*B的文件;示例:
ABC\u测试.A14B
xxxyy_测试
为此,我编写了以下bash命令
find-名称“*.A[1-9]*B”-名称“*_test.A[2-9][0-9]*B”
但是上面的命令打印所有*\u test.A[0-9]*B
文件
在bash中打印类型1,2且仅打印类型3的*\u test.A1B
的正确方法是什么如果您有gnu版本的find
,则可以像这样使用find
:
find . -regextype posix-extended -type f -regex '.*\.A[1-9][0-9]*B$'
如果您在OSX上,请使用:
find -E . -type f -regex '.*\.A[1-9][0-9]*B$'