![Data și caracteristicile lansării Apple iOS 9](/f/569eb80799ef3c53be24292e90845c17.jpg?width=100&height=100)
De multe ori folosim „mv”Comandă pentru redenumirea unui singur fișier în Linux. Cu toate acestea, redenumirea mai multor fișiere sau a unui grup de fișiere face dificilă sarcina într-un terminal.
Linux vine cu un instrument încorporat foarte puternic numit redenumiți. redenumiți comanda este utilizată pentru a redenumi mai multe sau grupuri de fișiere, redenumi fișierele cu litere mici, redenumi fișierele cu majuscule și suprascrie fișierele folosind expresii perl.
„redenumiți”Comanda face parte din Perl script și se află sub „/usr/bin/”Pe multe distribuții Linux. Puteți rula „care”Comandă pentru a afla locația comenzii de redenumire.
$ care redenumeste. /usr/bin/rename
redenumiți fișierele „s / old-name / new-name /”
Comanda de redenumire vine cu câteva argumente opționale împreună cu obligatoriu expresie perl care ghidează redenumirea comenzii pentru a efectua lucrări reale.
redenumiți [-v] [-n] [-f] perlexpr [fișiere]
Pentru o mai bună înțelegere a acestui utilitar, am discutat câteva exemple practice ale acestei comenzi în articol.
Să presupunem că aveți o grămadă de fișiere cu „.html”Și doriți să redenumiți toate„.html„Fișiere în„.php”Dintr-o dată. De exemplu, faceți mai întâi un „ls -l”Pentru a verifica lista de fișiere cu„.html”Extensie.
# [e-mail protejat]: ~ $ ls -l. total 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 oct 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 oct 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 oct 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 oct 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 oct 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 oct 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 oct 12:11 sports.html
Acum, doriți să schimbați extensia tuturor acestor fișiere din „.html" la ".php“. Puteți utiliza următoarele „redenumiți”Comanda cu expresie perl așa cum se arată mai jos.
[e-mail protejat]: ~ $ redenumiți 's / \. html $ / \. php /' * .html
Notă: În comanda de mai sus am folosit două argumente.
Să verificăm dacă toate fișierele sunt redenumite în „.php”Extensie, a face ls -l pe prompt.
[e-mail protejat]: ~ $ ls -l. total 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 oct 12:10 cricket.php. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 oct 12:10 entertainment.php. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 oct 12:10 health.php. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 oct 12:10 lifestyle.php. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 oct 12:10 news.php. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 oct 12:11 photos.php. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 oct 12:11 sports.php
Acum puteți vedea mai sus că toate html fișierele sunt redenumite în php.
În timp ce efectuați sarcini critice sau majore de redenumire, puteți verifica oricând modificările executând comanda de redenumire cu „-n" argument. „-n”Parametrul vă va spune exact ce schimbări ar avea loc, dar modificările nu sunt realizate în mod real. Iată exemplul comenzii de mai jos.
[e-mail protejat]: ~ $ redenumiți -n 's / \. php $ / \. html /' * .php cricket.php redenumit ca cricket.html. entertainment.php redenumit ca entertainment.html. health.php redenumit ca health.html. lifestyle.php redenumit lifestyle.html. news.php redenumit ca news.html. photos.php redenumit ca photos.html. sports.php redenumit ca sports.html
Notă: Ieșirea comenzii de mai sus afișează doar modificările, dar în realitate modificările nu sunt efectuate, decât dacă rulați comanda fără „-n" intrerupator.
Am văzut că comanda de redenumire nu afișa nicio informație despre modificările pe care le face. Deci, dacă doriți să obțineți detaliile comenzii de redenumire (așa cum am făcut folosind „-n"Opțiune), aici folosim"-v”Opțiune pentru a imprima detaliile complete ale tuturor modificărilor efectuate prin redenumirea comenzii cu succes.
[e-mail protejat]: ~ $ redenumiți -v 's / \. php $ / \. html /' * .php cricket.php redenumit ca cricket.html. entertainment.php redenumit ca entertainment.html. health.php redenumit ca health.html. lifestyle.php redenumit lifestyle.html. news.php redenumit ca news.html. photos.php redenumit ca photos.html. sports.php redenumit ca sports.html
Pentru a redenumi în lot toate fișierele cu minuscule nume pentru majuscule. De exemplu, vreau să ascund toate aceste fișiere de la inferior la superior caz.
[e-mail protejat]: ~ $ ls -l. total 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 oct 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 oct 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 oct 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 oct 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 oct 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 oct 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 oct 12:11 sports.html
Pur și simplu, utilizați următoarea comandă cu expresie perl.
[e-mail protejat]: ~ $ redenumiți 'y / a-z / A-Z /' * .html
După ce ați executat comanda de mai sus, puteți verifica modificările făcând „ls -l“.
[e-mail protejat]: ~ $ ls -l. total 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 oct 12:10 CRICKET.HTML. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 oct 12:10 ENTERTAINMENT.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 oct 12:10 HEALTH.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 oct 12:10 LIFESTYLE.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 oct 12:10 NEWS.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 oct 12:11 PHOTOS.HTML. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 oct 12:11 SPORTS.HTML
Puteți vedea că comanda de mai sus a redenumit toate numele fișierelor minuscule (cu .HTML extensie) la majuscule.
În mod similar, puteți converti toate majuscule personaje pentru minuscule folosind următoarea comandă.
[e-mail protejat]: ~ $ redenumiți 'y / A-Z / a-z /' * .HTML
[e-mail protejat]: ~ $ ls -l. total 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 oct 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 oct 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 oct 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 oct 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 oct 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 oct 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 oct 12:11 sports.html
Pentru a scrie cu majusculă numai prima literă a fiecărui nume de fișier, utilizați următoarea comandă.
# redenumiți 's / \ b (\ w) / \ U $ 1 / g' * .ext.
Dacă doriți să suprascrieți cu forță fișierele existente, utilizați „-f”Opțiune așa cum se arată mai jos.
[e-mail protejat]: ~ $ redenumiți -f 's / a / b /' * .html
Dacă doriți să aflați mai multe despre comanda de redenumire, tastați „omul redenumeste”În terminal.
redenumiți comanda este foarte utilă, dacă aveți de-a face cu redenumirea multiplă sau în lot a fișierelor din linia de comandă. Încercați și anunțați-mă, cât de departe este util în ceea ce privește redenumirea fișierelor.