Ръководство на потребителя: Използвайте команда за преименуване на Linux

Опитвали ли сте някога да използвате команда за преименуване на Linux ? Искате ли да се възползвате от преименуването на файловата станция на света на Linux и да осигурите mv - и себе си - почивка. Преименуването е бързо, гъвкаво и доста по-лесно. Ето подробно ръководство за тази мощност на една команда.





Какво не е наред с mv?

Няма нищо объркано с mv . Командата обаче върши добра работа. Също така можете да го намерите във всички Linux дистрибуции, в macOS и в други Unix-подобни ОС. Въпреки това, винаги е на разположение. Но със сигурност не искате лопата, а се нуждаете от булдозер.



Командата mv има цел в живота, а именно да премества файлове. Безопасен страничен ефект е, че може да се използва за преместване на по-стар файл в новия файл с ново име. Ефектът е да преименувате файла, така че да получите това, което искате. Но mv не е инструмент за персонализиране на файлове за преименуване.

Как да преименувате отделен файл с mv

преименувайте файлове на Linux



Ако искате да използвате mv за да преименувате файл, след което напишете mv, интервал, име на файл, интервал и новото име, което искате файлът да има. След това натиснете Enter.



Можете също да използвате ls за да проверите дали файлът се преименува или не

mv rename

Как да преименувате множество файлове с mv

Нещата се усложняват след преименуване на множество файлове. perl-rename няма способност да се занимава с преименуване на различни файлове. Трябва да прибегнете до използването на някои полезни трикове на Баш. Добре е, ако знаете някои средни класове от командния ред, но трудността с преименуването на различни файлове с mv се отнася само до лекотата на използване mv за да преименувате отделен файл.



Нещата ескалират моментално.



Да приемем, че тук има директория с много файлове в нея, от различни типове. Някои файлове имат .prog удължаване. Искаме да преименуваме тези файлове в командния ред, така че да имат .prg удължаване.

Хайде да разгледаме файловете.

rename

Ето един метод за това, който не може да прибегне до писане на действителен файл на скрипт на Bash.

rename

Подейства ли или не? Нека проверим файловете и след това продължим по-нататък.

rename

Така че, работи добре. Всички те са .prg файлове сега и няма .prog файлове в директорията.

Какво стана?

Какво всъщност направи дългата команда? Нека проверим.

prename

Първата част започва цикъл, който ще обработва всеки .prog файл в директорията, от своя страна.

Друга част казва какво ще обработва направете . Използва mv за да преместите всеки файл в новия. Името на новия файл ще бъде доста подобно на името на оригиналния файл, с изключение на частта .prog. Също така ще се използва разширението на .prg.

Ето един лесен начин

Определено. Ето това преименувайте команда.

преименувайте файлове на Linux

Той не е част от стандартната дистрибуция на 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 файлове.

The второ част обяснява работата, която искаме да се извършва по всяко име на файл. ^ означава заместител. Първият член (ls) е това, което ls ще търси във всяко име на файл и вторият член (ls) е това, с което ще бъде заменен.

как да използвам връзката на acestream

Командите средна част или централен израз е Perl ‘регулярен израз’ и той осигурява s/ командва неговата надеждност.

Модифициране на други части на име на файл

Досега сме модифицирали разширенията на имената на файлове, нека променим други части на имената на файловете.

В директорията има много C файлове с изходен код. Всички имена на файлове са с префикс жаргон_. Можем да проверим това и с y/.

a-z

Тук заместваме всички случаи на slang_ със sl_. Форматът на командите ни е доста познат. Ние просто модифицираме думата за търсене, думата за замяна и вида на файла.

A-Z

Тук търсим .c файлове и търсим жаргон_. Винаги, когато намерите slang_ в име на файл, той се замества със sl_.

Можете също да проверите резултата от командата след повторение на командата ls отгоре, използвайки същите параметри:

a-z

Премахване на част от име на файл

Също така можем да изтрием част от име на файл, след като заменим думата за търсене с нищо.

mv oldfile.txt newfile.txt

Можем да видим и от ls заповядайте, че нашите .° С всички файлове са добавени с sl_. Нека оставим това съвсем.

The преименувайте команда следва същия формат, както е споменато по-горе. Ще търсим .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 има Спри се в последен на името му, точно преди разширението.

Можете да търсите преименувайте команда за param навсякъде в името на файла. След това можете да го замените с параметър във всички случаи.

Друго използване на ls команда ни показва, че какво точно се е случило. Дали Спри се беше в началото или в края на името на файла. Можете също да го замените с a параметър.

Можем да използваме метасимволите на 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

Файловете, които преименувахме, са изброени по-рано. Също така можем да видим параметъра низ в началото на 3 имена на файлове и той се намира в края на едно от имената на файлове.

Нашите преименувайте команда използва началото на метасимвола на реда (^) преди параметъра на думата за търсене. Обяснява просто да помислите за думата за търсене, която е намерена, ако е в началото на името на файла. Параметърът на низа за търсене ще бъде избегнат, ако е някъде другаде в името на файла.

Гледайки с

ls sl*.c
, можем да видим, че името на файла има параметър в последен на името на файла не е променено. Но трите имена на файлове с параметър в започване на имената им, като низът за търсене е заменен със стойността на заместващия термин.

The преименувайте мощта се крие в силата на Perl.

Гледане с групировки

Ето случая, в който вероятно имате файлове със същите низове в имената им. Те не си приличат точно същите струни, така че просто търсите и заместването не може да работи тук.

В този пример използваме

ls *.c rename 's/sl_//' *.c ls *.c
за да видите кои файлове имаме, които започват с str. Също така има два от тях, string.c и strangle.c. Също така можем да преименуваме двата низа, след като използваме метод, известен като групиране.

Средният израз на преименувайте команда ще търси низове в имената на файлове, имащи символна последователност стри или стра. Тук тези последователности са последвани от ng. Алтернативно, терминът ни за търсене ще търси низ и удушен. Терминът на заместване е взрив.

ls *param*
rename 's/param/parameter' *.c
ls *param*

След използване на

ls *param*.c
друг път потвърждава, че string.c е станал bang.c и strangle.c вече е bangle.c.

Използвайте команда за преименуване с преводи

The преименувайте команда изпълнява всички действия върху имена на файлове, известни като преводи. Ето пример за превод, който принуждава набор от имена на файлове в главни букви.

В преименувайте команда, дадена по-долу, забелязваме, че не използваме

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“. Какви са вашите виждания за това? Ако искате да споделите друг метод или съвети относно статията, уведомете ни по-долу. За допълнителни въпроси и въпроси ни уведомете в раздела за коментари по-долу!

Прочетете също: