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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Массовое перименование файлов.  (Прочитано 1425 раз)

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

Оффлайн _taras_

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Массовое перименование файлов.
« : 04 Сентября 2022, 18:59:47 »
Приветствую всех!
Имеется сгенерированное название файла
efaf3b24-c868-4207-a650-986b6491c8e1-Temperature-Air-2m-Mean-24h_C3S-glob-agric_AgERA5_20190302_final-v1_area_subset.nc
Возможно ли как-то  массово (более 500 шт) переименовать фалы с сохранением части названия.
Например,  так temp_20190302.nc
Названия файлов отличаются только датой.

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4682
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #1 : 04 Сентября 2022, 19:20:53 »
Double Commander > перейти в каталог с файлами > для выбора всех файлов в каталоге одновременно нажать Ctrl A > Меню > Файл > Групповое переименование
... или после выбора нужных файлов одновременно нажать Ctrl M > откроется интерфейс Групповое переименование

Оффлайн qpdb

  • Забанен
  • Активист
  • *
  • Сообщений: 628
  • xUbuntu 22.04
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #2 : 04 Сентября 2022, 23:19:23 »
Например если файлы в одной директории, то их можно „обрезать”, положим до 62 (взято произвольно) символов…
rename 's:.*(.{62}):$1:' *
Предварительно файлы стоит пронумеровать „с хвоста” чтобы при „обрезании“ не появились файлы с одинаковыми именами.
rename 's:\ :_:g;s:\.:sprintf("_%03d.",$^R+=1):e' *
Команды  для rename составлялись исходя из того что все файлы похожи на образец… В общем rename может решить этот вопрос…

2022 Sep 04; 04:19 PM; Oakville, ON, Canada.

Пользователь добавил сообщение 04 Сентября 2022, 23:32:56:
Да, забыл, проект переименования можно смотреть добавив ❰-n❱

rename -n 's:(.+)\.:$1╳.:' *|nl
Замена последней „.” на „╳.” т.е. замена последнего вхождения для примера…

2022 Sep 04; 04:32 PM
« Последнее редактирование: 04 Сентября 2022, 23:32:56 от qpdb »

Оффлайн jurganov

  • Старожил
  • *
  • Сообщений: 1538
    • Просмотр профиля

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4682
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #4 : 05 Сентября 2022, 08:57:20 »
https://lisakov.com/blog/renaming-find-sed-xargs-mv/
- интересный подход, с использованием утилиты поиска и потокового редактора текста  ::)

Оффлайн jurganov

  • Старожил
  • *
  • Сообщений: 1538
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #5 : 05 Сентября 2022, 09:07:37 »
интересный подход, с использованием утилиты поиска и потокового редактора текста
я то его как раз для чистки текста от повтярющихся лишних элементов использовал .а вот люди, гляди-то - чистки имен файлов )

Оффлайн qpdb

  • Забанен
  • Активист
  • *
  • Сообщений: 628
  • xUbuntu 22.04
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #6 : 05 Сентября 2022, 19:28:02 »
Безусловно!
интересный подход
Тема, как говаривал один артист оригинального жанра, „благодатная”😇, я думаю с десяток вариантов вполне может собраться…
QQ=(/tmp/$(date +%H%M%S)_cp);mkdir $QQ;find . -type f -iname "*.РАСШИРЕНИЕ" -exec bash \
-c 'cp "$0" "`echo $0|sed -r "s:(.*)/:\1/$(date +%s%4N)∑¢∑_:;s:(.*)/.{8}:\1\/:"`"' \
{} \; 2>/dev/null;sleep 5;find . -type f -iname "*∑¢∑*" -exec mv -t $QQ  {} \; 2>/dev/null
На выходе получим:
(Нажмите, чтобы показать/скрыть)
Смысл ⟶ собрать все файлы из разных поддиректорий файлам с одинаковыми именами присвоить псевдоуникальный префикс ❰…………∑¢∑❱; вообще все файлы будут иметь псевдоуникальный префикс.
Уникальность будет выше если вот так😇:
date +%s%12N
1662395101000946284664
В общем поле для деятельности и простор для воображения безграничен!
2022 Sep 05; 12:27 PM

Оффлайн Ser_W

  • Активист
  • *
  • Сообщений: 386
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #7 : 05 Сентября 2022, 21:08:40 »
Ничоси, собрались кулхацкеры! : ))

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 667
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #8 : 05 Сентября 2022, 23:30:50 »
А я тут задумалося. А в MC можно как то копировать файлы по шаблону отсекая определенное количество символов в начале файла?

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4682
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #9 : 06 Сентября 2022, 17:06:44 »
А в MC можно как то копировать файлы по шаблону отсекая определенное количество символов в начале файла?
- с Midnight Commander можно много чего делать, создавай собственное пользовательское меню (F2), и вперед :)

      ... сча придет andytux и много чего расскажет об этом замечательном файловом менеджере, а пока можешь почитать тут

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 667
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #10 : 06 Сентября 2022, 20:32:43 »
У меня вопрос как при копировании оставить например 5 первых символов отсекая все остальное. В примере у ТС я так понитмаю имена файлов могут быть с различным набором символов но с определенны их количеством. Как копировать по шаблону знаю но этих знаний маловасто вышло чтобы сделать в один присест то что ТС хочет, вот и озадачился по поводу MC. Как оставить в начале нужное количество символов понятно а вот как отсечь вопрос.

Оффлайн qpdb

  • Забанен
  • Активист
  • *
  • Сообщений: 628
  • xUbuntu 22.04
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #11 : 06 Сентября 2022, 23:37:38 »
оставить например 5 первых символов
Вариантов, наверное, много… Но попроще мне кажется так…
rename -n 's:^\./.{12}\K.*\.png:_Ren.png:s' ./*.png
Предполагается что файлы в одной директории и имеют одно и то же расширение. В данном случае при переименовании оставляем первых 12 символов в хвост добавляем “_Ren”. Ну вообще-то нужно добавить нумерацию для того, чтобы избежать дубликатов.

В общем для „коммерческого😇” использования стоит „полирнуть” и унифицировать, возможности такие видятся. Напоминаю, что “-n” в команде это проект, если подходит убираем “-n” и производим окончательное исполнение.

2022 Sep 06; 04:37 PM; Oakville, ON, Canada.

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4682
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #12 : 07 Сентября 2022, 11:04:48 »
Domitory, на самом деле, все команды предложенные qpdb, вполне можно включить в пользовательское меню mc, и каждый раз, как понадобится пользоваться через F2, кроме того команду можно составить таким образом, чтоб некоторые значения вводились на первом этапе её выполнения (например, отсекались не 5 первых символов, а какое-то другое их количество)  ::)

Оффлайн qpdb

  • Забанен
  • Активист
  • *
  • Сообщений: 628
  • xUbuntu 22.04
    • Просмотр профиля
Re: Массовое перименование файлов.
« Ответ #13 : 07 Сентября 2022, 13:32:24 »
Жаль, что автора темы нет больше с нами😇, я имею в виду в данном топике, а не в традиционной коннотации данной фразы, естественно!😇

(Нажмите, чтобы показать/скрыть)
2022 Sep 07; 06:32 AM

 

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