Pervardyti – komandų eilutės įrankis, skirtas pervardyti kelis failus sistemoje „Linux“.


Dažnai naudojame komandą „mv“, kad pervardytume vieną failą Linux. Tačiau greitas kelių ar grupių failų pervadinimas labai apsunkina užduotį terminale.

Linux yra su labai galingu integruotu įrankiu, pavadintu pervardyti. Komanda pervardyti naudojama norint pervardyti kelis ar grupes failų, pervardyti failus į mažąsias raides, pervardyti failus į didžiąsias ir perrašyti failus naudojant perl išraiškas.

Komanda „pervardyti“ yra Perl scenarijaus dalis ir daugelyje „Linux“ platinimų ji yra „/usr/bin/“. Galite paleisti komandą „which“, kad sužinotumėte pervadinimo komandos vietą.

which rename
/usr/bin/rename
Pagrindinė komandos pervardyti sintaksė
rename 's/old-name/new-name/' files

Pervardymo komanda pateikiama su keliais pasirenkamais argumentais ir privaloma perl išraiška, kuri padeda pervardyti komandą, kad būtų atliktas tikras darbas.

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
  1. -v: spausdinkite sėkmingai pervardytų failų pavadinimus.
  2. -n: parodykite, kurie failai būtų pervardyti.
  3. -f: priverstinai perrašyti esamus failus.
  4. perlexpr: Perlo išraiška.

Norėdami geriau suprasti šią priemonę, straipsnyje aptarėme keletą praktinių šios komandos pavyzdžių.

1. Pagrindinės pervadinimo komandos pavyzdys

Tarkime, kad turite daugybę failų su plėtiniu „.html“ ir norite pervardyti visus „.html“ failus į „.php“ vienu ypu. Pavyzdžiui, pirmiausia atlikite „ls -l“, kad patikrintumėte failų su plėtiniu „.html“ sąrašą.

ravisaive@tecmint:~$ 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

Dabar norite pakeisti visų šių failų plėtinį iš „.html“ į „.php“. Galite naudoti šią komandą pervardyti su perl išraiška, kaip parodyta toliau.

ravisaive@tecmint:~$ rename 's/\.html$/\.php/' *.html

Pastaba: aukščiau pateiktoje komandoje naudojome du argumentus.

  1. Pirmasis argumentas yra perl išraiška, pakeičianti .html į .php.
  2. Antrasis argumentas nurodo komandai pervardyti visus failus pakeisti *.php.

Patikrinkime, ar visi failai pervardyti į plėtinį .php, ragindami atlikdami ls -l.

ravisaive@tecmint:~$ 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

Dabar aukščiau matote, kad visi html failai pervardyti į php.

2. Patikrinkite pakeitimus prieš paleisdami komandą Pervardyti

Atlikdami svarbias ar svarbias pervadinimo užduotis, visada galite patikrinti pakeitimus vykdydami pervardymo komandą su argumentu -n. Parametras „-n“ tiksliai nurodys, kokie pakeitimai įvyktų, tačiau pakeitimai neatliekami iš tikrųjų. Toliau pateikiamas komandos pavyzdys.

ravisaive@tecmint:~$ 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

Pastaba: aukščiau pateiktoje komandos išvestyje rodomi tik pakeitimai, bet iš tikrųjų pakeitimai neatliekami, nebent komandą vykdote be jungiklio -n.

3. Spausdinti Pervardyti išvestį

Matėme, kad pervadinimo komanda nerodė jokios informacijos apie pakeitimus. Taigi, jei norite gauti išsamios informacijos apie komandą pervardyti (kaip mes darėme naudodami parinktį -n), čia naudojame parinktį -v, kad išspausdintume visą išsami informacija apie visus pakeitimus, sėkmingai atliktus pervadinimo komanda.

ravisaive@tecmint:~$ 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. Konvertuokite visas mažąsias raides į didžiąsias ir Vise-Versa

Norėdami grupiniu būdu pervardyti visus failus su mažosiomis raidėmis į didžiąsias. Pavyzdžiui, noriu paslėpti visus šiuos failus iš mažųjų į >didžiosios raidės.

Mažosios ir didžiosios raidės
ravisaive@tecmint:~$ 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

Tiesiog naudokite šią komandą su perl išraiška.

ravisaive@tecmint:~$ rename 'y/a-z/A-Z/' *.html

Įvykdę aukščiau pateiktą komandą, galite patikrinti pakeitimus atlikdami „ls -l“.

ravisaive@tecmint:~$ 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

Matote, kad aukščiau pateikta komanda iš tikrųjų pervardijo visus mažosiomis raidėmis rašomus failų pavadinimus (su plėtiniu .HTML) į didžiąsias.

Iš didžiosios ir mažosios raidės

Taip pat galite konvertuoti visus didžiąsias raides į mažąsias raides naudodami šią komandą.

ravisaive@tecmint:~$ rename 'y/A-Z/a-z/' *.HTML
ravisaive@tecmint:~$ 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. Pirmoji failo pavadinimo raidė rašoma didžiosiomis raidėmis

Norėdami rašyti tik pirmąją kiekvieno failo pavadinimo raidę, naudokite šią komandą.


rename 's/\b(\w)/\U$1/g' *.ext

6. Perrašyti esamus failus

Jei norite priverstinai perrašyti esamus failus, naudokite parinktį -f, kaip parodyta toliau.

ravisaive@tecmint:~$ rename -f 's/a/b/' *.html

Jei norite sužinoti daugiau apie komandą pervardyti, terminale įveskite „man pervardyti“.

Komanda pervardyti yra labai naudinga, jei norite pervardyti kelis arba paketinius failus iš komandinės eilutės. Išbandykite ir praneškite man, kiek tai naudinga failų pervadinimui.