Как извлечь файлы с расширением из каталогов? - PullRequest
0 голосов
/ 12 октября 2018

В настоящее время я извлекаю изображения из большого многоуровневого каталога с помощью следующей команды bash:

find . -name \*.jpg -exec cp {} /newdir_path_.. \;

Однако все изображения хранятся в трех версиях:

xxx-LD.jpg
xxx-SD.jpg
xxx.jpg

Iпросто хочу извлечь xxx.jpg картинки, а не LD и SD ... как мне изменить мою команду для выполнения такого извлечения?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Это также может работать для вас, учитывая, что ваши имена файлов содержат только цифры до .jpg:

find . -iregex '.*/[0-9]*\.jpg$' -exec cp {} /newdir_path_.. \;
0 голосов
/ 12 октября 2018

Вы можете добавить больше тестов:

find . -name '*.jpg' -not -name '*-[LS]D.jpg' -exec cp {} /newdir_path_.. \;

-not - расширение GNU;вы можете использовать ! -name вместо этого.В некоторых оболочках необходимо экранировать !: \! -name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...