2015-11-19 3 views
1

Я пытаюсь найти файлы с файлом. Формат имени "IMG_dddd.JPG".Найти файл с шаблоном имени файла

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

В настоящее время ошибка, которую я получаю, выглядит следующим образом.

находка: пути должны предшествовать выражение: IMG_0001.JPG

Использование: find [-H] [-L] [-P] [path...] [expression]

ответ

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' 
+0

Это работает отлично, спасибо за вашу помощь! –

Смежные вопросы