Универсальный способ переименовать все файлы в каталоге

Универсальный способ переименовать все файлы в каталоге

Я создавал простые функции bash для этого с помощью find -execпарсинга ls или использования подстановки bash и т. д. каждый раз, когда у меня возникала большая проблема и мне приходилось прибегать к новому методу: один раз это был слишком длинный список аргументов, другой раз файлы, которые уже имели имя, например, 2были перезаписаны при переименовании другого файла в 2.

Один раз это была проблема с unicode, один раз с пробелом в имени файла, один раз с *или &в имени файла и т. д. Поэтому я подумал, что приду сюда и спрошу вас, люди, о самом эффективном и надежном универсальном способе переименовать все файлы в каталоге, чтобы они имели последовательные имена.не важно что!Неважно, насколько длинные имена файлов, каково их изначальное имя или какое у них расширение, и неважно, содержат ли они символы, не входящие в набор ASCII.

Итак, мои требования:

  1. Что он работает с длинными именами файлов.
  2. Что он работает с символами Юникода.
  3. Это работает, если в файлах есть пробелы или специальные символы.
  4. Что он не перезаписывает один файл другим.
  5. Чтобы это было как можно быстрее:D

решение1

Если ваш Ubuntu не является сервером, не относитесь к нему как к таковому. pyRenamer из репозиториев Ubuntu по умолчанию имеет все функции, которые вы ищете, включая поддержку регулярных выражений, и поскольку это программа с графическим интерфейсом, вам не нужно ломать голову, пытаясь понять, как ее использовать. Если у вас возникли проблемы с написанием регулярного выражения, вы можете получить объяснение того, что делает ваше регулярное выражение, наРегЭкср. Не позволяйте себе предвзято относиться к программам с графическим интерфейсом, созданным для подобных случаев использования.

pyRenamer доступен в репозиториях Ubuntu по умолчанию в Ubuntu 16.04 и более ранних версиях. В Ubuntu 18.04 и более поздних версиях pyRenamer был заменен наGPRename.

Связанный контент