- Одновременное переименование группы файлов в Linux
- Одновременное переименование нескольких файлов в Linux
- Метод 1 — Использование mmv
- Метод 2 — Использование утилиты rename
- Метод 3 — Использование renameutils
- Метод 4 — Использование vimv
- Метод 5 — Использование Emacs
- Метод 6 — Использование файлового менеджера Thunar
- Добавить комментарий Отменить ответ
Одновременное переименование группы файлов в Linux
Возможно, вы уже используете команду mv для переименования или перемещения файлов и каталогов в Linux и Unix-подобных операционных системах. Но команда mv не поддерживает одновременное переименование нескольких файлов. Она может переименовывать только один файл за раз. Что бы вы сделали, если бы захотели переименовать несколько файлов одновременно?
Есть еще несколько утилит для пакетного переименования файлов в Linux. В этом руководстве мы узнаем, как переименовать сразу несколько файлов в Linux с помощью различных инструментов. Все приведенные здесь примеры протестированы в Ubuntu 18.04 LTS, однако они должны работать в любых операционных системах Linux.
Одновременное переименование нескольких файлов в Linux
Метод 1 — Использование mmv
MMV — утилита для перемещения, копирования и переименовывания групп файлов , используя стандартные подстановочные знаки в Linux и Unix-подобных операционных систем. Она доступна в стандартных репозиториях систем на основе Debian. Чтобы установить её в Debian, Ubuntu, Linux Mint, выполните следующую команду:
Допустим, у вас есть следующие файлы в вашем текущем каталоге.
Вы хотите переименовать все файлы, которые начинаются с буквы «a», на «b». Конечно, вы можете сделать это вручную за несколько секунд. Но подумайте, есть ли у вас сотни файлов и вы хотите их переименовать? Это довольно трудоемкий процесс. Здесь на помощь приходит команда mmv .
Чтобы переименовать все файлы, начинающиеся с буквы «a» на «b», просто запустите:
Проверим, переименованы файлы или нет.
Как видите, все файлы, начинающиеся с буквы «a» (т.е. a1.txt, a2.txt, a3.txt), переименовываются в b1.txt, b2.txt, b3.txt.
Объяснение
В приведенном выше примере первый параметр (a\*) — это шаблон «от», а второй параметр — шаблон «до» (b\#1). В соответствии с приведенным выше примером, mmv будет искать любые имена файлов, начинающиеся с буквы «a», и переименовывать совпадающие файлы в соответствии со вторым параметром, то есть шаблоном «to». Мы используем подстановочные знаки, такие как ‘*’, ‘?’ и ‘[]’, чтобы соответствовать одному или нескольким произвольным символам. Помните, что вы должны избегать подстановочных знаков, иначе они будут расширены оболочкой, и mmv их не поймет.
«#1» в шаблоне «Кому» — это индекс с подстановочными знаками. Он соответствует первому подстановочному знаку, найденному в шаблоне «от». «#2» в шаблоне «to» будет соответствовать второму подстановочному знаку и так далее. В нашем примере у нас есть только один подстановочный знак (звездочка), поэтому мы пишем #1. И знак решетки также должен быть экранирован. Также вы можете заключить паттерны в кавычки.
Вы даже можете переименовать все файлы с определенным расширением в другое расширение. Например, чтобы переименовать все файлы .txt в формат .doc в текущем каталоге, просто запустите:
Другой пример. Допустим, у вас есть следующие файлы.
Вы хотите заменить первое вхождение abc на xyz во всех файлах в текущем каталоге. Как бы вы поступили?
Обратите внимание, что в приведенном выше примере я заключил шаблоны в одинарные кавычки.
Давайте проверим, действительно ли «abc» заменено на «xyz» или нет.
Файлы abcd1.txt , abcd2.txt и abcd3.txt были переименованы в xyzd1.txt , xyzd2.txt и xyzd3.txt .
Еще одна примечательная особенность команды mmv — вы можете отобразить результат выполнения вместо переименования файлов с помощью параметра -n, как показано ниже.
Таким образом, вы можете просто проверить, что на самом деле будет делать команда mmv, прежде чем переименовывать файлы.
Для получения дополнительных сведений см. справочные страницы.
Метод 2 — Использование утилиты rename
rename утилита переименования группы файлов, заменяет первое вхождение в выражении на второе.
Команда rename предустановлена в большинстве Unix-подобных операционных системах. Если он недоступен по умолчанию, выполните следующую команду, чтобы установить его в системах на базе Debian:
Например, в текущем каталоге у меня есть следующие файлы.
Давайте заменим первое вхождение abc на xyz, для этого запустите:
Теперь проверьте, были ли внесены изменения с помощью команды ls .
Иногда вы можете просто отобразить результат выполнения вместо переименования файлов. Для этого, используйте флаг -n, чтобы отобразить, какие переименования произошли бы без их выполнения:
Как видите, приведенная выше команда не вносила никаких изменений, а просто отображает, какие переименования произойдут.
Вы можете принудительно переименовать файл, даже если операция перезапишет существующие файлы, используя флаг -f, как показано ниже.
Если вы не хотите перезаписывать файлы, вы можете просто преобразовать их в прописные или строчные буквы (и наоборот), чтобы предотвратить «уже существующие» ошибки. Чтобы преобразовать все имена файлов в нижний регистр, так:
Проверим, внесены ли изменения.
Да, буквы в именах файлов были изменены с нижнего на верхний регистр.
Точно так же, чтобы преобразовать имена файлов в нижний регистр, запустите:
Мы также можем удалить все пробелы в имени файла. Например, у меня есть следующий файл.
Чтобы удалить все пробелы в указанном выше имени файла, запустите:
Теперь в имени файла нет пробелов.
Замените пробелы символами подчеркивания:
Вы можете изменить расширение файла, но не переименовывать имена файлов. Это тоже возможно. Следующая команда переименует все файлы *.txt в *.doc.
Проверьте изменения с помощью команды ls :
Чтобы удалить расширение во всех файлах, соответствующих .txt , запустите:
Для получения дополнительных сведений см. справочные страницы.
Метод 3 — Использование renameutils
renameutils представляет собой набор программ , который предназначен для пакетного переименования файлов и каталогов , быстрее и проще. Renameutils состоит из следующих пяти программ:
- qmv (быстрое перемещение),
- qcp (быстрое копирование),
- imv (интерактивный перемещение),
- icp (интерактивное копирование),
- deurlname (удалить URL).
Установка renameutils
Renameutils доступен в репозиториях по умолчанию большинства дистрибутивов Linux. Чтобы установить его в системах на базе Arch, включите репозиторий сообщества и запустите:
В системах на основе Debian:
Теперь давайте посмотрим на несколько примеров.
1. qmv
Программа qmv откроет имена файлов в каталоге в текстовом редакторе по умолчанию и позволит вам редактировать их.
У меня есть следующие три файла в каталоге с именем «ostechnix».
Чтобы переименовать имена файлов в каталоге ‘ostechnix’, просто выполните:
Теперь измените имена файлов по своему усмотрению. Вы увидите предварительный просмотр в реальном времени, когда измените имена файлов.
Кроме того, вы можете перейти в каталог с помощью cd и просто запустить qmv.
Открыв файлы, вы увидите два столбца, как показано на следующем снимке экрана.
Групповое переименование файлов с помощью qmv
В левом столбце отображаются имена исходных файлов, а в правом столбце — имена конечных файлов (имена выходных файлов, которые вы получите после редактирования).
Теперь переименуйте все имена с правой стороны, как хотите.
Массовое переименование файлов с помощью qmv
После переименования имен файлов сохраните и закройте файл.
Наконец, вы увидите следующий результат:
Теперь проверьте, действительно ли были внесены изменения, используя команду ls:
Все файлы переименованы. renameutils также переименовывает имена каталогов.
Вот небольшая видеодемонстрация программы qmv:
Массовое переименование файлов с помощью qmv
Если вы не хотите редактировать имена файлов в формате с двумя столбцами, используйте следующую команду, чтобы отобразить только столбец файла назначения.
Где «-f» относится к формату, а «do» относится только к месту назначения .
Теперь вы увидите только столбец назначения. Это столбец, в котором мы вносим изменения.
После этого сохраните и закройте файл.
Для получения дополнительных сведений см. справочные страницы.
2. QCP
Программа qcp работает как qmv, но копирует файлы, а не переименовывает их. В этом случае вы получите два экземпляра одного и того же файла. Это означает, что в нем будут храниться как оригинальные, так и повторяющиеся файлы.
Переименуйте имена файлов, перечисленные справа. Сохраните и закройте файл. Наконец, проверьте внесенные изменения с помощью команды ls:
Для получения дополнительных сведений см. справочные страницы.
3. imv
Программа imv позволяет нам переименовывать имена файлов в интерактивном режиме. Очевидно, это не для массового переименования. Вы сможете переименовывать файлы только по одному.
Отредактируйте имя файла по своему усмотрению и нажмите ENTER, чтобы переименовать его.
Для получения дополнительных сведений см. Справочные страницы.
4. icp
Программа icp такая же, как imv, но копирует файлы, а не перемещает их.
Дополнительные варианты использования и команды см. на страницах руководства.
Я не знаю, зачем разработчики добавили эти две утилиты, в то время как мы можем сделать то же самое с помощью команд mv и cp .
5. deurlname
Программа deurlname удаляет символы в кодировке URL (например,% 20, представляющий пробел) из имен файлов. Некоторые программы, например w3m , обычно сохраняют эти символы в сохраненных файлах. Вы можете использовать этот инструмент для очистки имен файлов, загруженных из Интернета.
Взгляните на следующий файл.
В имени файла есть специальные символы и числа. Если вы хотите очистить его от них, просто запустите:
Теперь посмотрите, как изменилось имя файла.
Имя файла чистое и читаемое.
Обратитесь к страницам руководства для получения более подробной информации.
Для получения дополнительной информации обратитесь к веб-сайту проекта, указанному в конце этого руководства.
Метод 4 — Использование vimv
Как следует из названия, Vimv — это утилита командной строки для массового переименования файлов с помощью редактора Vim . Конечно, вы можете изменить редактор, изменив значение переменной окружения $ EDITOR .
Чтобы установить Vimv, выполните клонируйте git репозиторий:
Скопируйте двоичный файл vimv в свой $PATH, например /usr/local/bin/.
Наконец, сделайте его исполняемым:
Теперь перейдите в каталог и выполните следующую команду, чтобы переименовать имена файлов. Вы увидите имена файлов в редакторе Vi. Нажмите i, чтобы переключиться в интерактивный режим и отредактируйте имена файлов так же, как вы редактируете текст в редакторе Vi. После этого нажмите клавишу ESC и введите :wq для сохранения и выхода.
Теперь файлы внутри каталога должны быть переименованы. Вот короткое видео-демо.
Для получения дополнительных сведений см. репозиторий проекта на GitHub.
Метод 5 — Использование Emacs
Если у вас есть система с установленным редактором Emacs, вы можете легко выполнить пакетное переименование, выполнив следующие действия.
1. Откройте ваш редактор Emacs.
2. Нажмите Alt + x, введите следующее и нажмите ENTER, чтобы переключиться в проводной режим (wdired-mode) (сокращение от «режим редактора каталогов с возможностью записи»).
3. Введите путь к каталогу (например, /home/sk/ostechnix), который содержит файлы для переименования, и нажмите клавишу ENTER.
4. Затем нажмите Ctrl + x и Ctrl + q, чтобы переключиться в режим чтения-записи.
5. Теперь переименуйте файлы. После этого нажмите Ctrl + c и Ctrl + c (два раза), чтобы сохранить изменения. Чтобы отменить изменения, нажмите Ctrl + c и Ctrl + k .
Посмотрите демонстрационное видео:
Переименовать сразу несколько файлов очень просто.
Метод 6 — Использование файлового менеджера Thunar
Файловый менеджер Thunar имеет встроенное групповое переименование по умолчанию.
Thunar доступен в репозиториях по умолчанию большинства дистрибутивов Linux.
Чтобы установить его в системах на базе Arch, запустите:
В Debian, Ubuntu, Linux Mint:
После установки вы можете запустить утилиту массового переименования из меню или из средства запуска приложения. Чтобы запустить его из Терминала, используйте следующую команду:
Так выглядит массовое переименование.
Щелкните на знак плюса и выберите список файлов, которые нужно переименовать. Массовое переименование может переименовывать имена файлов, суффикс файлов или и имя, и суффикс файлов. В настоящее время Thunar поддерживает следующие массовые переименования:
- Вставить дату или время
Когда вы выберете один из этих критериев из раскрывающегося списка, вы увидите предварительный просмотр ваших изменений в столбце « Новое имя» , как показано на снимке экрана ниже.
Как только вы выберете критерии, нажмите на опцию « Переименовать файлы», чтобы переименовать файлы.
Вы также можете открыть программу массового переименования из Thunar, выбрав два или более файлов. После выбора файлов нажмите F2 или щелкните правой кнопкой мыши и выберите « Переименовать» .
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник