Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Пакетное переименование файлов  (Прочитано 877 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mashinis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Пакетное переименование файлов
« : 14 Августа 2015, 10:23:34 »
В папке имеется 1500 zip архивов. Нужно все их переименовать пакетно.

Было так: "1klass.zip"
Должно быть так: "1klass.zip.eisif7toot3eex0ail9jeepae8oha8eu"
Т.е после расширения нужно добавить случайные 32 символа. Вся проблема в сохранении оригинального названия файла.

Делаю в терминале так: mv /dir/*.zip /dir/*zip.$(pwgen -A -n 32)
Выдает ошибку: mv: указанная цель «/dir/*zip.shaig0she9aine6ukuliasaef9eanohh» не является каталогом

Поиск по форуму и гугление результатов не дали. Я понимаю, что нужно название файла хранить в переменной, но как это сделать, ума не приложу.

Гуру Линукс, помогите пожалуста!

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #1 : 14 Августа 2015, 10:31:56 »
"Уж сколько раз твердили миру…"
Код: (bash) [Выделить]
for file in /dir/*.zip ; mv "$file" "$file.$(pwgen -A -n 32)" ; done
Код: (bash) [Выделить]
rename "s|$|.$(pwgen -A -n 32)|" /dir/*.zip
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн mashinis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #2 : 14 Августа 2015, 10:45:39 »
Спасибо! А в терменале так и писать?

Пользователь решил продолжить мысль [time]14 Август 2015, 11:54:46[/time]:
Спасибо, добрый человек!!!

Пользователь решил продолжить мысль 14 Августа 2015, 10:59:19:
Блин, у всех файлов, после zip, одинаковые символы получились! :-( А как сделать случайные?
« Последнее редактирование: 14 Августа 2015, 10:59:19 от mashinis »

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #3 : 14 Августа 2015, 11:03:02 »

Пользователь решил продолжить мысль 14 Августа 2015, 10:59:19:
Блин, у всех файлов, после zip, одинаковые символы получились! :-( А как сделать случайные?
В чём суть "случайности" символов?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #4 : 14 Августа 2015, 16:08:48 »
А как сделать случайные?
Тогда только 1-й вариант for…
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Cxms

  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #5 : 14 Августа 2015, 16:43:43 »
Azure,
Цитировать
Код: (bash) [Выделить]
for file in /dir/*.zip ; mv "$file" "$file.$(pwgen -A -n 32)" ; done
do забыли)
Код: (bash) [Выделить]
for file in /dir/*.zip ; do mv "$file" "$file.$(pwgen -A -n 32)" ; done

Оффлайн mashinis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Пакетное переименование файлов
« Ответ #6 : 16 Августа 2015, 13:15:06 »
Спасибо!
По этому методу все получилось!
Код: (bash) [Выделить]
for file in /dir/*.zip ; do mv "$file" "$file.$(pwgen -A -n 32)" ; done
Тему можно закрыть!
« Последнее редактирование: 16 Августа 2015, 13:21:34 от mashinis »

 

Страница сгенерирована за 0.047 секунд. Запросов: 23.