Поиск по сайту:
Мудр тот, кто знает не многое, а нужное (Эсхил).

Как переименовать сразу несколько файлов в Linux

16.06.2018
Как переименовать сразу несколько файлов в Linux

Как вы уже знаете, мы используем команду mv для переименования или перемещения файлов и каталогов в Unix-подобных операционных системах. Но команда mv не будет поддерживать переименование нескольких файлов одновременно. Не волнуйтесь. В этом уроке мы научимся переименовывать несколько файлов одновременно с помощью команды «mmv» в Linux. Эта команда используется для перемещения, копирования, добавления и переименования файлов с использованием стандартных подстановочных знаков в Unix-подобных операционных системах.

Переименование нескольких файлов сразу в Linux

Утилита mmv доступна в репозиториях по умолчанию систем на базе Debian. Чтобы установить его на Debian, Ubuntu, Linux Mint, выполните следующую команду:

$ sudo apt-get install mmv

 

Скажем, у вас есть следующие файлы в вашем текущем каталоге.

$ ls 
a1.txt a2.txt a3.txt

 

Теперь вы хотите переименовать все файлы, начинающиеся с буквы «a» на «b». Конечно, вы можете сделать это вручную через несколько секунд. Но подумайте, есть ли у вас сотни файлов и хотите их переименовать? Это довольно трудоемкий процесс. Здесь команда mmv приходит в помощь.

Чтобы переименовать все файлы, начиная с буквы «a» до «b», просто запустите:

$ mmv a \ * b \ # 1

 

Давайте проверим, были ли файлы переименованы или нет.

$ ls 
b1.txt b2.txt b3.txt

 

Как вы можете видеть, все файлы начинаются с буквы «a» (то есть a1.txt, a2.txt, a3.txt) переименовываются в b1.txt, b2.txt, b3.txt.

Объяснение

В приведенном выше примере первым параметром (a \ *) является шаблон «from», а второй параметр «to» (b \ # 1). В соответствии с приведенным выше примером, mmv будет искать любые имена файлов с буквой «a» и переименовывать сопоставленные файлы в соответствии со вторым параметром, то есть шаблоном «to». Мы используем подстановочные знаки, такие как ‘*’, ‘?’ и ‘[]’, чтобы соответствовать одному или нескольким произвольным символам. Помните, что вы должны избегать символов подстановки, иначе они будут расширены оболочкой, а mmv не поймет их.

Читать  Что лучше: Ubuntu или Debian

«# 1» в шаблоне «to» является индексом подстановки. Он соответствует первому шаблону, найденному в шаблоне «from». «# 2» в шаблоне «to» будет соответствовать второму подстановочному знаку и так далее. В нашем примере у нас есть только один шаблон (звездочка), поэтому мы пишем # 1. И, хэш-знак также должен быть экранирован. Кроме того, вы можете заключить шаблоны с кавычками.

Вы даже можете переименовать все файлы с определенным расширением на другое расширение. Например, чтобы переименовать все .txt- файлы в формат .doc в текущем каталоге, просто запустите:

$ mmv \ *. txt \ # 1.doc

 

Вот еще один пример. Скажем, у вас есть следующие файлы.

$ ls 
abcd1.txt abcd2.txt abcd3.txt

 

Вы хотите заменить первое вхождение abc на xyz во всех файлах в текущем каталоге. Как бы вы поступили?

Просто.

$ mmv '* abc *' '# 1xyz # 2'

 

Обратите внимание, что в приведенном выше примере я включил шаблоны в одинарные кавычки.

Давайте проверим, действительно ли «abc» заменено на «xyz» или нет.

$ ls 
xyzd1.txt xyzd2.txt xyzd3.txt

 

Видеть? Файлы abcd1.txt , abcd2.txt и abcd3.txt были переименованы в xyzd1.txt , xyzd2.txt и xyzd3.txt .

Еще одна заметная особенность команды mmv – вы можете просто распечатать вывод вместо переименования файлов с помощью опции -n, как показано ниже.

$ mmv -na \ * b \ # 1 
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

 

Таким образом, вы можете просто проверить, что действительно сделало команду mmv, прежде чем переименовывать файлы.

Читать  Различие между Run vs Start vs Create в Docker

Для получения дополнительной информации см. Справочные страницы.

$ man mmv

 

Обновить:

Файловый менеджер Thunar имеет встроенную опцию массовое переименование  по умолчанию. Если вы используете thunar, гораздо проще переименовывать файлы, чем использовать команду mmv.

Thunar доступен в репозиториях по умолчанию для большинства дистрибутивов Linux.

Чтобы установить его в системах на базе Arch, выполните:

$ sudo pacman -S thunar

 

На RHEL CentOS:

$ sudo yum install thunar

 

На Fedora:

$ sudo dnf install thunar

 

На openSUSE:

$ sudo zypper install thunar

 

На Debian, Ubuntu, Linux Mint:

$ sudo apt-get install thunar

 

После установки вы можете запустить утилиту массового переименования из меню или из панели запуска приложений. Чтобы запустить его из терминала, используйте следующую команду:

$ thunar -B

 

Вот как выглядит массовое переименование.

Как переименовать сразу несколько файлов в Linux

Щелкните знак плюса и выберите список файлов, которые вы хотите переименовать. Массовое переименование может переименовать имя файлов, суффикс файлов или имя и суффикс файлов. В настоящее время Thunar поддерживает следующие массовые переименования:

  • Вставить дату или время
  • Вставить или перезаписать
  • Нумерация
  • Удалить символы
  • Поиск и замена
  • Верхний регистр Нижний регистр

Когда вы выберете один из этих критериев из списка выбора, вы увидите предварительный просмотр изменений в столбце «New Name» , как показано на следующем скриншоте.

Как переименовать сразу несколько файлов в Linux

После выбора критериев нажмите «Rename Files», чтобы переименовать файлы.

Читать  Скрипты оболочки bash - что можно изменить

Вы также можете открыть массовый renamer из Thunar, выбрав два или более файлов. После выбора файлов нажмите F2 или щелкните правой кнопкой мыши и выберите «Rename» .

И это все на данный момент. Надеюсь, это было полезно. Будьте на связи!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Java - это язык программирования общего назначения, разработанный Sun Microsystems,…

Спасибо!

Теперь редакторы в курсе.