2016-01-24 5 views
2

У меня есть папка, содержащая 32 папки, каждая из которых содержит несколько файлов изображений. Я хотел бы переместить все эти файлы изображений в одну основную папку. Я знаю, как это сделать вручную, папка по папке. Есть ли способ автоматической командной строки? У меня есть Crunchbang Waldorf, и обычно я использую PCmanFM в качестве файлового менеджера.Устранение вложенных папок для перемещения всех файлов в одну папку

ответ

2

/*/обозначает каталоги.

mv /path/from/*/*.jpg /path/main/

+0

Btw, мв предупредят вас дублированные имена, это позволит вам знать, какие копируются в основную директорию, то вы можете проверить каталоги whic дублированных и Ждет» t скопировано. Команда @ яша будет работать лучше, если изображения находятся в тонких вложенных уровнях. – FZE

+0

спасибо, это сработало. Но для поддержания правильного порядка файлов изображений мне пришлось бы удалить первые три символа каждого имени файла. Как мне это сделать? – Oposum

2

если все эти изображения имеют одно расширение, например .jpg:

find /directory/You/Want/To/Search -name "*.jpg" -exec cp -t /destination/directory {} + 

Примечание: просто чтобы убедиться, что все эти изображения имеют одно уникальное имя в противном случае эта команда сломается

ОБНОВЛЕНИЕ:

если у вас нет знать, какие изображения расширений вы можете просто сделать это один:

find /directory/You/Want/To/Search -regex ".*\.\(jpg\|gif\|png\|jpeg\)" -exec cp -t /destination/directory {} + 
Смежные вопросы