На этот вопрос уже есть ответ:
] Я делал простые bash-функции для этого с помощью find -exec
или парсинга ls, или использования bash globbing и т. Д. Каждый раз, когда у меня возникала большая проблема, и мне приходилось переходить к новому методу один раз, когда он был аргументом список слишком длинный. В другой раз файлы, которые уже имели имя типа 2
, были перезаписаны, когда другой файл переименовывался в 2
.
Один раз это была проблема с юникодом, один раз с пробелом в имени файла, один раз с *
или и
в имени файла и так далее. Итак, я подумал, что приду сюда и попрошу вас, люди, о наиболее эффективном и надежном универсальном способе переименовать все файлы в каталоге, чтобы они имели последовательные имена , несмотря ни на что! . Независимо от длины имен файлов, их исходного имени или расширения, а также наличия в них символов, отличных от ASCII.
Итак, мои требования:
Если Ваша Ubuntu не является сервером, не рассматривают его как один. pyRenamer из репозиториев Ubuntu по умолчанию имеет все функции, которые Вы ищете включая поддержку regex, и так как это - программа GUI, которую Вы не должны повреждать голову, пытающуюся выяснять, как использовать его. При наличии затруднений при записи регулярного выражения можно получить объяснение того, что regex делает в RegExr. Не позволяйте себе становиться смещенными против программ GUI, которые были созданы для вариантов использования как это.
pyRenamer доступен из репозиториев Ubuntu по умолчанию в Ubuntu 16.04 и ранее. В Ubuntu 18.04 и позже pyRenamer был заменен GPRename.