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