2016-01-12 8 views
1

Я пытаюсь переименовать много файлов в Kali Linux, около 16 000 из них. Они расположены в почти 600 папках со случайными номерами для имен, а файлы в них помечены как 0,1,2 ... (Нет файла extn.), Начиная с 0 снова в каждой новой папке. Я пытаюсь преобразовать файлы в формате .jpg. Следующий код работает только тогда, когда я открываю каталог папки в terminal-Массовое переименование файла в Linux

find . -name '[0-9][0-9][0-9]' -exec sh -c 'mv $0 $0.jpg' {} \; 
    find . -name '[0-9][0-9]' -exec sh -c 'mv $0 $0.jpg' {} \; 
    find . -name '[0-9]' -exec sh -c 'mv $0 $0.jpg' {} \; 

Но сделать это для каждой папки в директории будет довольно утомительно. Любые предложения для исполняемого скрипта .sh?

Edit: расширение должно быть изменено, имена, могут оставаться как они ...

+1

Запишите сценарий, который петли для каждой найденной папки, а затем переименовывает весь объект в этой папке, перемещается в следующую папку и делает то же самое. Linux также имеет встроенные функции переименования, которые вы можете получить из графического интерфейса. Выберите все папки и нажмите переименование. –

+0

Я получил общее представление о том, что мне нужно делать, но, к сожалению, я только что начал с Linux, и не знаю, как продолжить ... –

+5

* * конвертировать файлы в формате .jpg * 'Переименование файл не меняет свой формат. – Biffen

ответ

2

Вы можете использовать одну команду найти:

find -type f -regextype posix-extended -regex '.*/[0-9]{1,3}' -exec mv -v {} {}.jpg \; 
+0

Это сработало отлично ... сами файлы, похоже, первоначально были в формате JPEG, а Linux читал их без сучка и задоринки, как было предложено @DevSolar –

+0

Приятно что это работает для вас! – hek2mgl

+0

Спасибо, за помощь, кстати. –

0

Если вы не против установки еще один инструмент, а затем с rnm:

rnm -rs '/^\d{1,3}$/&.jpg/' -fo -dp -1 /path 
  1. ^\d{1,3}$ является матч мы ищем и & в заменяемой части относится к согласованной части в имени файла.
  2. -fo: только файл
  3. -dp: глубина реж. (-1 означает неограниченное количество).
Смежные вопросы