Често използваме „mv”Команда за преименуване на един файл в Linux. Преименуването на множество или група файлове обаче бързо прави много трудна задача в терминал.
Linux идва с много мощен вграден инструмент, наречен преименувайте. The преименувайте команда се използва за преименуване на множество или група файлове, преименуване на файлове в малки букви, преименуване на файлове в главни и презаписване на файлове с помощта на изрази на perl.
„преименувайте”Командата е част от Perl скрипт и той се намира под „/usr/bin/”На много дистрибуции на Linux. Можете да стартирате „който”Команда, за да разберете местоположението на командата rename.
$ които преименувате. /usr/bin/rename
преименувайте „s/old-name/new-name/“ файлове
Командата rename идва с няколко незадължителни аргумента заедно със задължителни израз на perl който ръководи командата за преименуване, за да свърши действителна работа.
преименувайте [-v] [-n] [-f] perlexpr [файлове]
За по -добро разбиране на тази помощна програма сме обсъдили няколко практически примера за тази команда в статията.
Да предположим, че имате куп файлове с „.html”Разширение и искате да преименувате всички“.html”Файлове към“.php”Наведнъж. Например, първо направете „ls -l”, За да проверите списъка с файлове с“.html”Разширение.
# [защитен имейл]: ~ $ ls -l. общо 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 октомври 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 октомври 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 октомври 12:10 здраве.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 октомври 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 октомври 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 окт 12:11 снимки.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 октомври 12:11 sports.html
Сега искате да промените разширението на всички тези файлове от „.html" да се ".php“. Можете да използвате следното „преименувайте”Команда с израз на perl както е показано по -долу.
[защитен имейл]: ~ $ преименувайте 's/\. html $/\. php/' *.html
Забележка: В горната команда използвахме два аргумента.
Нека проверим дали всички файлове са преименувани на „.php”Разширение, правене ls -l в подканата.
[защитен имейл]: ~ $ ls -l. общо 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 октомври 12:10 cricket.php. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 октомври 12:10 entertainment.php. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 октомври 12:10 health.php. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 октомври 12:10 lifestyle.php. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 октомври 12:10 news.php. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 октомври 12:11 photos.php. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 октомври 12:11 sports.php
Сега можете да видите по -горе, че всички html файловете се преименуват на php.
Докато извършвате критични или големи задачи за преименуване, винаги можете да проверите промените, като изпълните командата rename с „-н”Аргумент. „-н”Параметърът ще ви каже точно какви промени ще настъпят, но промените не се извършват реално. Ето примера на командата по -долу.
[защитен имейл]: ~ $ преименувайте -n 's/\. php $/\. html/' *.php cricket.php преименуван на cricket.html. entertainment.php преименуван на entertainment.html. health.php преименуван на health.html. lifestyle.php преименуван на lifestyle.html. news.php преименуван на news.html. photos.php преименуван на photos.html. sports.php преименуван на sports.html
Забележка: Горният изход на команда показва само промени, но реално промените не се извършват, освен ако не изпълните командата без „-н”Превключвател.
Видяхме, че командата rename не показва никаква информация за промените, които прави. Така че, ако искате да получите подробности за командата rename (както направихме с помощта на „-н”), Тук използваме„-v”Опция за отпечатване на пълната информация за всички промени, направени чрез командата rename успешно.
[защитен имейл]: ~ $ преименувайте -v 's/\. php $/\. html/' *.php cricket.php преименуван на cricket.html. entertainment.php преименуван на entertainment.html. health.php преименуван на health.html. lifestyle.php преименуван на lifestyle.html. news.php преименуван на news.html. photos.php преименуван на photos.html. sports.php преименуван на sports.html
За групово преименуване на всички файлове с малки букви имена на Главна буква. Например искам да скрия всички тези файлове от нисък да се горен случай.
[защитен имейл]: ~ $ ls -l. общо 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 октомври 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 октомври 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 октомври 12:10 здраве.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 октомври 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 октомври 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 окт 12:11 снимки.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 октомври 12:11 sports.html
Просто използвайте следната команда с израз на perl.
[защитен имейл]: ~ $ преименувайте 'y/a-z/A-Z/' *.html
След като изпълните горната команда, можете да проверите промените, като направите „ls -l“.
[защитен имейл]: ~ $ ls -l. общо 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 октомври 12:10 CRICKET.HTML. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 октомври 12:10 РАЗВЛЕЧЕНИЯ.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 октомври 12:10 ЗДРАВЕ.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 окт 12:12 LIFESTYLE.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 окт 12:12 НОВИНИ.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 окт 12:12 СНИМКИ.HTML. -rw-rw-r-- 1 ravisaive ravisaive 978137 окт 10 12:11 SPORTS.HTML
Можете да видите, че горната команда всъщност преименува всички малки имена на файлове (с .HTML разширение) до главни букви.
По същия начин можете също да конвертирате всички Главна буква герои до малки букви като използвате следната команда.
[защитен имейл]: ~ $ преименувайте 'y/A-Z/a-z/' *.HTML
[защитен имейл]: ~ $ ls -l. общо 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 октомври 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 октомври 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 октомври 12:10 здраве.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 октомври 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 октомври 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 окт 12:11 снимки.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 октомври 12:11 sports.html
За да изписвате само първата буква от всяко име на файл, използвайте следната команда.
# преименувайте 's/\ b (\ w)/\ U $ 1/g' *.ext.
Ако искате насилствено да презапишете съществуващи файлове, използвайте „-f”, Както е показано по -долу.
[защитен имейл]: ~ $ преименувайте -f 's/a/b/' *.html
Ако искате да научите повече за командата за преименуване, въведете „човек преименувай”В терминала.
The преименувайте командата е много полезна, ако се занимавате с многократно или пакетно преименуване на файлове от командния ред. Опитайте и ме уведомете доколко е полезно по отношение на преименуването на файлове.