我正在尝试查找文件名为"IMG_dddd.JPG"
的文件。
`find ./test -name "IMG_"{0000..9999}.JPG`
目前我得到的错误看起来像这样。
find:路径必须位于表达式之前:IMG_0001.JPG
用法:find [-H] [-L] [-P] [path...] [expression]
答案 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'