Поиск по сайту:
Легче найти ошибку, чем истину (И. Гёте).

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

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

Мы покажем вам, как переименовать несколько файлов в Linux. Каждая операционная система в современном мире поставляется с несколькими способами взаимодействия с файловой системой. Будь то создание файлов, их переименование, их копирование или удаление, все они приходят с функциональностью, чтобы эффективно выполнять все эти задачи. Однако одна из операций, с которой большинство операционных систем не справляются, заключается в переименовании одновременно нескольких файлов.Если вам нужен шаблон, если вы просто хотите переименовать много файлов за один раз, переименование файлов может быть весьма утомительным.

К счастью, переименование программного обеспечения может помочь нам решить эту проблему. В этой статье мы ознакомимся с несколькими опциями для пакетного переименования файлов в системах на базе Debian, а также RHEL на основе систем (RedHat Enterprise Linux).

Операционные системы на базе Debian

Debian и подобные дистрибутивы, такие как Ubuntu и Linux Mint имеют встроенный инструмент командной строки для пакетного переименования файлов. «rename», предлагается на некоторых операционных системах на основе Debian, является одним из самых мощных инструментов переименования на Linux. Работа по переименованию очень похожа на то, как работает «sed» – это, по существу, это утилита sed для имен файлов. Он может также использовать выражение Perl, поэтому если у вас есть некоторые знания Perl, эта утилита будет работать для вас.

Важно: В некоторых операционных системах, основанных на Debian, в которых будет установлен “rename” может действительно иметь вариант “rename” из пакета util-Linux и пакет. Этот вариант util-linux является гораздо более простой версией “rename”, которая не имеет почти столько же функций, как версия, которая поставляется на Debian и Ubuntu.

Читать  Как извлечь или распаковать файл tar.xz в Linux

Основы переименования файлов

Вы можете найти и заменить текст в именах файлов, выполнив следующую команду. Убедитесь в том, чтобы изменить значение «Поиск» и «заменить» на текст, который вы хотите изменить. Имейте в виду, что маски являются доступны внутри поля поиска.

Примечание:
Вы можете использовать опцию -n, чтобы сначала выполнить “сухой запуск”, который не влияет на имена файлов. Опция -v делает все операции подробными.

Пример:

rename -v 's/search/replace/' *

 

Изменение типов файлов

Вы также можете переименовать типы файлов, определенных файлов, с помощью этого метода – просто заменить «search» и «replace» на новый тип файла.

Примечание:
Не забудьте добавить обратную косую черту перед типом файла, иначе команда не будет работать.

Пример:

rename -v 's/\.search/\.replace/' *

 

Другие дополнительные команды

Если вы хотите переименовать файлы и иметь увеличивающийся ряд в конце имени файла, это может быть сделано, также с применением Perl:

rename -v 's/search/our $i; sprintf("replace%03d.txt", 1+$i++)/e' *

 

Причина «% 03d» в этой команде, чтобы описать, сколько нулей мы хотим добавить перед нашими номерами. Это используется для хранения файлов, при сортировке файлов в алфавитном порядке. «sprintf» фактически является функцией от Perl, используется для форматирования имени. Она показывает одну из сильных сторон этой версии переименования. Вот пример.

файлы:

file1

file2

Команда:

rename -v 's/file*/our $i; sprintf("name%03d.txt", 1+$i++)/e' *

Вывод:

name001

name002

 

Читать  Как обрезать (очистить) файлы в Linux

В случае, если вам нужен конкретный формат для ваших имен файлов, существует множество сценариев Perl доступных в Интернете для переименования файлов во всевозможных форматах.

 

Операционные системы на основе RHEL

RedHat Enterprise Linux и связанное с ним дистрибутивы, такие как CentOS также имеют версию «rename» устанавливаемые по умолчанию. Это вариант «Util-Linux», не такой многофункциональный, как тот, который установлен на большинстве систем на базе Debian.

 

Основы переименования файлов

Что касается версии Util-Linux, все это делает простой поиск и замену операций для имен файлов. Вы вводите строку, которую вы ищете в файлах, и указываете, какую строку вы хотите заменить в строке поиска.

rename "search" "replace" *

 

Это все функциональные возможности, доступные со встроенной утилитой rename в системах на базе RHEL. Если вам нужно сделать более расширенное переименование, подойдет bash scripting с использованием циклов и операций, связанных вместе. Вот пример переименования файлов при добавлении увеличивающегося числа в конец файла. Просто измените ‘search’ и ‘replace’ в скрипте соответствующие имена, которые вы ищете и заменяете. Вот пример:

 

Шаг 1: Создайте файл сценария в каталоге, содержащий файлы, которые вы хотите переименовать.
touch renameScript.sh
Шаг 2: Откройте файл в текстовом редакторе и добавьте этот скрипт в файл. Когда закончите, закройте текстовый редактор. (Не забудьте изменить «search» и «replace» в сценарии для вашего поиска!)
find -name 'search' | # find file

gawk 'BEGIN{ a=1 }{ printf "mv %s replace%03d\n", $0, a++ }' 

bash # run
Шаг 3: Сделайте файл исполняемым.
chmod 644 renameScript.sh
Шаг 4: Выполните сценарий, введя следующую команду.
sh renameScript.sh

Вот что это будет выглядеть в выводе.

Читать  Exa - Современная замена команды ls

файлы:

file1

file2

Команда:

sh renameScript.sh

Вывод:

name001

name002

 

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

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


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

**ссылки nofollow

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

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


Рекомендуемое
В этой статье мы покажем вам, как вы можете установить…

Спасибо!

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