Руководство пользователя: использование команды переименования в Linux
Вы когда-нибудь пробовали использовать команду переименования на Linux ? Вы хотите разобраться с мощной системой переименования файлов в мире Linux и предоставить mv —и себе — отдых? Переименование выполняется быстро, гибко и довольно просто. Вот подробное руководство по этой мощной команде.
Что не так с mv?
Все нормально с mv . Однако команда хорошо справляется со своей задачей. Кроме того, вы можете найти его во всех дистрибутивах Linux, в macOS и в других Unix-подобных ОС. Однако он всегда доступен. Но, конечно, не лопата, а бульдозер.
Команда mv имеет цель в жизни - перемещать файлы. Это безопасный побочный эффект, который можно использовать для перемещения старых файлов. в новый файл с новым именем. В результате файл будет переименован, чтобы вы получили то, что хотите. Но мв не является инструментом для переименования файлов.
Как переименовать отдельный файл с помощью mv

Если вы хотите использовать mv чтобы переименовать файл, введите мв, пробел, имя файла, пробел и новое имя, которое вы хотите, чтобы файл имел. Затем нажмите Enter.
Вы также можете использовать ls чтобы проверить, переименован ли файл или нет
mv renameКак переименовать несколько файлов с помощью mv
После переименования нескольких файлов все становится сложнее. perl-rename не имеет возможности заниматься переименованием различных файлов. Вы должны прибегнуть к некоторым полезным приемам Bash. Хорошо, если вы знаете какую-то мелочь с командной строкой, но трудности с переименованием разных файлов с помощью мв стоит только для простоты использования мв переименовать отдельный файл.
Дела обостряются мгновенно.
Допустим, это каталог с большим количеством файлов разных типов. Некоторые файлы имеют .prog расширение. Мы хотим переименовать эти файлы в командной строке, чтобы они имели .prg расширение.
Пойдем, взглянем на файлы.
renameВот один из способов сделать это, без написания фактического файла сценария Bash.
renameСработало или нет? Давайте проверим файлы и продолжим.
renameИтак, все работает нормально. Все они .prg файлов сейчас, и нет .prog файлы в каталоге.
Что случилось?
Что на самом деле делала длинная команда? Давай проверим.
prenameПервая часть начинает цикл, который будет обрабатывать каждый .prog файл в каталоге, в свою очередь.
Другая часть говорит, что обработка будет делать . Оно использует мв чтобы переместить каждый файл в новый файл. Новое имя файла будет очень похоже на имя исходного файла, за исключением части .prog. Также будет использоваться расширение .prg.
Вот простой способ
Вероятнее всего. Вот переименовать команда.

Он не является частью стандартного дистрибутива Linux, поэтому вы хотите его установить. Кроме того, в разных семействах Linux у него разные названия, но все они работают одинаково. Вам просто нужно подставить правильное имя команды в соответствии со вкусом используемого вами Linux.
В дистрибутивах, производных от Debian или Ubuntu, вы просто устанавливаете perl-rename как это:
*.progВ дистрибутивах, производных от RedHat или Fedora, вы просто устанавливаете предварительное имя как это. Помните, что буква p означает Perl.
renameЧтобы установить его в Manjaro Linux, используйте следующую команду. Имейте в виду, что команда переименования известна как s.
.progИспользуйте команду переименования -> Давай, попробуем еще раз
Здесь мы будем использовать rename. Мы делаем это для того, чтобы у нас был набор файлов .prog.
.prgДавайте переименуем их, используя приведенную ниже команду. Мы также свяжемся с ls команду независимо от того, сработало это или нет. Если вы хотите заменить rename с точным названием команды для Linux, если не можете использовать Ubuntu или производную от Debian Linux.
ls lsРаботает хорошо, теперь все файлы .prg, за исключением .prog файлы остались в каталоге.
Что здесь случилось?
Давайте обсудим это в трех частях.
в первый часть, вы увидите имя команды rename (или ls или ls для других дистрибутивов).
Третий последний часть - ^, что объясняет $ для работы со всеми файлами .prog.
В второй Часть объясняет работу, которую мы хотим проделать с каждым именем файла. ^ означает замену. Первый член (ls) - это то, что ls будет искать в каждом имени файла, а второй термин (ls) будет заменен.
лучшие ромы для nexus 6p
Средняя часть команды или центральное выражение - это «регулярное выражение» Perl, и это то, что обеспечивает s/ командовать своей надежностью.
Изменение других частей имени файла
Пока мы изменили расширения файлов, давайте изменим другие части имен файлов.
В каталоге много файлов исходного кода C. Все имена файлов имеют префикс сленг_. Мы также можем проверить это с помощью y/.
a-zЗдесь мы заменяем все вхождения slang_ на sl_. Формат команды нам хорошо знаком. Мы просто изменяем поисковый запрос, заменяемый термин и тип файла.
A-ZЗдесь мы ищем файлы .c и ищем slang_. Всякий раз, когда вы находите сленг_ в имени файла, он заменяется на sl_.
Вы также можете проверить результат выполнения команды после повторения команды ls сверху, используя те же параметры:
a-zУдаление части имени файла
Мы также можем удалить часть имени файла после замены поискового запроса ничем.
mv oldfile.txt newfile.txt
Мы также можем смотреть с ls прикажите, что наш .c все файлы начинаются с sl_. Давай оставим это совсем.
В переименовать команда следует в том же формате, что и упомянутый выше. Мы будем искать файлы .c. Поисковый запрос - sl_, но термин замены отсутствует. Две обратные косые черты «//» без чего-либо между ними означают пустую строку.
ls *.txtможет обрабатывать каждый файл .c по очереди. Кроме того, он ищет sl_ в имени файла. Если вы его нашли, вас ничем не заменить. В качестве альтернативы искомый термин удаляется.
Другое использование
ls *.prog -lКоманда подтверждает, что префикс sl_ был удален из каждого файла .c.
Ограничение изменений определенных частей имен файлов
Давай воспользуемся
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' для просмотра файлов, в имени которых есть строковый параметр. Тогда мы будем использовать переименовать команда для замены строки с помощью строкового параметра. Также мы используем ls еще раз, чтобы увидеть эффект переименовать команда имеет в этих файлах.ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' sudo apt-get install rename
Затем вы просмотрите четыре файла с останавливаться в их имени файла. param.c, param_one.c и param_two.c имеют останавливаться на начало их имени. Third_param.c имеет останавливаться на последний своего имени, непосредственно перед расширением.
Вы можете искать переименовать команда для параметра везде в имени файла. Затем вы можете заменить его параметром во всех случаях.
Другое использование ls Команда показывает нам, что именно произошло. Ли останавливаться был в начале или в конце имени файла. Вы также можете заменить его на параметр.
Мы можем использовать метасимволы Perl, чтобы очистить поведение центрального выражения. Метасимволы - это знаки, обозначающие последовательности или позиции символов. Например,
sudo dnf install prenameозначает начало строки, (.) означает любой одиночный символ (кроме символа новой строки),
sudo pacman -Syu perl-renameозначает конец строки.
Кроме того, мы используем начало метасимвола строки (
ls *.prog), чтобы ограничить наш поиск началом имен файлов.
rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c
Переименованные нами файлы перечислены ранее. Кроме того, мы можем видеть, что строковый параметр находится в начале трех имен файлов и в конце одного из имен файлов.
Наш переименовать Команда использует начало метасимвола строки (^) перед параметром поискового запроса. Он объясняет, что нужно просто считать поисковый запрос найденным, если он находится в начале имени файла. Параметр строки поиска будет исключен, если он находится где-либо еще в имени файла.
Глядя с
ls sl*.c, мы можем увидеть, что имя файла имеет параметр в последний имени файла не было изменено. Но три имени файла, имеющие параметр в начало их имен, в которых строка поиска заменена значением замещающего термина.
В переименовать сила заключается в силе Perl.
Глядя с группировками
Вот случай, когда у вас, вероятно, есть файлы с одинаковыми строками в именах. Они не похожи на одни и те же строки, поэтому вы просто ищите, и подстановка здесь не сработает.
В этом примере мы используем
ls *.c rename 's/sl_//' *.c ls *.cчтобы посмотреть, какие файлы у нас начинаются с str. Также их два, string.c и strangle.c. Мы также можем переименовать обе строки после использования метода, известного как группировка.
Среднее выражение переименовать команда будет искать строки в именах файлов, имеющих последовательность символов полоса или же Stra. Здесь за этими последовательностями следует ng. В качестве альтернативы наш поисковый запрос будет искать строку а также странно. Срок замены хлопнуть.
ls *param*
rename 's/param/parameter' *.c
ls *param*
После использования
ls *param*.cв другой раз подтверждает, что string.c превратился в bang.c, а strangle.c теперь на bangle.c.
Использовать команду переименования с переводами
В переименовать Команда выполняет все действия с именами файлов, известными как переводы. Вот пример перевода, который переводит набор имен файлов в верхний регистр.
в переименовать приведенная ниже команда, обратите внимание, что мы не используем
rename 's/^parameter/value/' *.cдо начала среднего выражения мы используем
ls *param*.c. Он объясняет, что команда не может выполнить замену; мы выполняем перевод.
Термин
ls value*.cэто выражение Perl. Это означает, что все символы нижнего регистра в последовательности от a до z. Но термин
ls str*.cпредставляет все прописные буквы в последовательности от A до Z.
Среднее выражение в этой команде можно перефразировать так, как если бы в имени файла были найдены строчные буквы от a до z. Он заменяет их соответствующими символами в порядке заглавных букв от A до Z.
Если вы хотите перевести имена всех файлов .prg в верхний регистр, просто используйте эту команду:
переименовать ‘y / a-z / A-Z /’ * .prg
rename 's/(stri|stra)ng/bang/' *.c
Команда
ls ban*.cпокажите нам, что все .prg файлы расширений теперь в верхнем регистре. Кроме того, если быть точным, они не .prg файлов больше. Ну, это файлы .PRG. Убедитесь, что в Linux учитывается регистр.
Мы также можем отменить эту последнюю команду после возврата в положение
ls *.PRGи термины от A до Z в среднем выражении.
переименовать ‘y / A-Z / a-z /’ * .PRG
ls * .prg
Вы не можете выучить Perl за пять минут
Освоение Perl - время потраченное не зря. Но чтобы начать использовать возможности экономии времени переименовать , вам вовсе не нужно обладать достаточными знаниями Perl, чтобы получить большие преимущества в силе.
Заключение:
Здесь все о «Использовании команды переименования в Linux». Что вы думаете об этом? Если вы хотите поделиться каким-либо другим методом или советами по статье, сообщите нам об этом ниже. Для дальнейших запросов и вопросов дайте нам знать в разделе комментариев ниже!
Читайте также:


