Nimeta ümber - käsurea tööriist mitme faili ümbernimetamiseks Linuxis
Kasutame Linuxis ühe faili ümbernimetamiseks sageli käsku “mv”. Mitme või mitme failirühma ümbernimetamine muudab selle terminalis siiski väga keeruliseks.
Linuxil on väga võimas sisseehitatud tööriist nimega ümbernimetamine. Ümbernimetamise käsku kasutatakse mitme faili või failirühma ümbernimetamiseks, failide ümber nimetamiseks väikesteks, failide ümbernimetamiseks suurtähtedeks ja failide ülekirjutamiseks, kasutades perl-väljendeid.
"Rename" -käsu on Perli skripti osa ja see asub paljudes Linuxi distributsioonides jaotises "/ usr/bin /". Ümbernimetamise käsu asukoha väljaselgitamiseks võite käivitada käsu "milline".
$ which rename /usr/bin/rename
rename 's/old-name/new-name/' files
Ümbernimetamise käsul on vähe valikulisi argumente koos kohustusliku perl-avaldisega, mis suunab käsu ümber nimetama tegeliku töö tegemiseks.
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
- -v: printige failide nimed edukalt ümber.
- -n: näidake, millised failid oleks ümber nimetatud.
- -f: sundib olemasolevad failid üle kirjutama.
- perlexpr: Perli väljend.
Selle utiliidi paremaks mõistmiseks oleme artiklis käsitlenud mõnda selle käsu praktilist näidet.
1. Põhiline ümbernimetamise käsu näide
Oletame, et teil on hunnik faile, mille laiendus on .html, ja soovite kõik ".html" failid ümber nimetada korraga .php-ks. Näiteks tehke kõigepealt “ls -l”, et kontrollida failide loendit, mille laiend on “.html”.
# [email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
Nüüd soovite kõigi nende failide laienduse “.html” asemel muuta “.php”. Võite kasutada järgmist "rename" käsku perli avaldisega, nagu allpool näidatud.
[email :~$ rename 's/\.html$/\.php/' *.html
Märkus. Ülaltoodud käsus oleme kasutanud kahte argumenti.
- Esimene argument on perli avaldis, mis asendab .html sõnaga .php.
- Teine argument käsib käsul rename asendada kõik failid tähega * .php.
Kontrollime, kas kõik failid on ümber nimetatud .php laiendiks, tehes viipal ls -l.
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.php -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.php -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.php -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.php -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.php -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.php -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.php
Nüüd näete eespool, et kõik html-failid nimetatakse PHP-ks.
2. Kontrollige muudatusi, enne kui käivitate käsu Nimeta ümber
Kriitiliste või suuremate ümbernimetamisülesannete tegemisel saate muudatusi alati kontrollida, käivitades argumendiga "-n" ümbernimetamise käsu. Parameeter „-n” ütleb teile täpselt, millised muudatused toimuksid, kuid muudatusi ei tehta päris. Siin on allpool toodud käsu näide.
[email :~$ rename -n 's/\.php$/\.html/' *.php cricket.php renamed as cricket.html entertainment.php renamed as entertainment.html health.php renamed as health.html lifestyle.php renamed as lifestyle.html news.php renamed as news.html photos.php renamed as photos.html sports.php renamed as sports.html
Märkus. Ülaltoodud käsu väljund kuvab ainult muudatusi, kuid tegelikult muudatusi ei tehta, välja arvatud juhul, kui käivitate käsu ilma lülitita “-n”.
3. Prindi Nimeta väljund ümber
Nägime, et ümber nimetamise käsk ei kuvanud teavet muudatuste kohta, mida see teeb. Niisiis, kui soovite saada käsu ümbernimetamise üksikasjad (nagu me tegime valiku "-n" abil), kasutame siin valikut "-v", et printida kõigi ümbernimetamise abil tehtud muudatuste täielikud üksikasjad edukalt.
[email :~$ rename -v 's/\.php$/\.html/' *.php cricket.php renamed as cricket.html entertainment.php renamed as entertainment.html health.php renamed as health.html lifestyle.php renamed as lifestyle.html news.php renamed as news.html photos.php renamed as photos.html sports.php renamed as sports.html
4. Teisendage kõik väiketähed suurteks ja Vise-Versaks
Kõikide väikeste tähtedega nimega failide ümbernimetamine suurte tähtedega. Näiteks tahan varjata kõiki neid järgmisi faile väikestest suurtest.
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
Lihtsalt kasutage järgmist käsku perli avaldisega.
[email :~$ rename 'y/a-z/A-Z/' *.html
Kui ülaltoodud käsk on täidetud, saate muudatusi kontrollida, tehes "ls -l".
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 CRICKET.HTML -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 ENTERTAINMENT.HTML -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 HEALTH.HTML -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 LIFESTYLE.HTML -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 NEWS.HTML -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 PHOTOS.HTML -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 SPORTS.HTML
Näete, et ülaltoodud käsk nimetas kõik väiketähtedega failinimed (laiendiga .HTML) ümber suurtähtedeks.
Samamoodi saate järgmise käsu abil teisendada ka kõik suurtähed väiketähtedeks.
[email :~$ rename 'y/A-Z/a-z/' *.HTML
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
5. Esitage failinime esimene täht suurtähtedega
Iga failinime ainult esimese tähe suurtähtede kirjutamiseks kasutage järgmist käsku.
# rename 's/\b(\w)/\U$1/g' *.ext
6. Kirjutage olemasolevad failid üle
Kui soovite olemasolevad failid jõuliselt üle kirjutada, kasutage valikut "-f", nagu allpool näidatud.
[email :~$ rename -f 's/a/b/' *.html
Kui soovite käsu ümbernimetamise kohta rohkem teada saada, tippige terminali "man rename".
Ümbernimetamise käsk on väga kasulik, kui teil on käsurealt mitme faili või pakkide ümbernimetamine. Proovige ja andke mulle teada, kui kaugele on failide ümbernimetamine kasulik.