使用文件名模式查找文件

时间:2015-11-19 02:12:20

标签: bash

我正在尝试查找文件名为"IMG_dddd.JPG"的文件。

`find ./test -name "IMG_"{0000..9999}.JPG`

目前我得到的错误看起来像这样。

find:路径必须位于表达式之前:IMG_0001.JPG

用法:find [-H] [-L] [-P] [path...] [expression]

1 个答案:

答案 0 :(得分:2)

Brace扩展将列表中的每个项目扩展为单个参数。

所以你的命令来自这个

find ./test -name "IMG_"{0000..9999}.JPG

到这个

find ./test -name IMG_0000.jpg IMG_0001.jpg .... IMG_9999.JPG

且只有IMG_0000.jpg附加了-name谓词,因此查找所有其他文件名作为搜索路径并引发错误。

如果您想搜索该范围内的任何文件名,您需要以不同方式构建命令。

你应该可以使用

find ./test -name 'IMG_[0-9][0-9][0-9][0-9].JPG'