Endurnefna - Skipanalínutól til að endurnefna margar skrár í Linux
Við notum oft „mv“ skipunina til að endurnefna eina skrá í Linux. Hins vegar, að endurnefna margar eða hópa skráa, gerir það fljótt mjög erfitt verkefni í flugstöðinni.
Linux kemur með mjög öflugt innbyggt tól sem kallast endurnefna. Endurnefna skipunin er notuð til að endurnefna margar eða hópa af skrám, endurnefna skrár í lágstafi, endurnefna skrár í hástafi og skrifa yfir skrár með perl tjáningum.
Skipunin „endurnefna“ er hluti af Perl handriti og hún er undir „/usr/bin/“ á mörgum Linux dreifingum. Þú getur keyrt „hvaða“ skipun til að komast að staðsetningu endurnefna skipunarinnar.
$ which rename /usr/bin/rename
rename 's/old-name/new-name/' files
Endurnefna skipunin kemur með nokkrum valkvæðum rökum ásamt skyldubundinni perl tjáningu sem leiðir endurnefna skipunina til að vinna raunverulega vinnu.
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
- -v: Prentun nöfn skráa sem endurnefna.
- -n: Sýna hvaða skrár hefðu verið endurnefndir.
- -f: Þvingaðu yfir að skrifa yfir núverandi skrár.
- perlexpr: Perl tjáning.
Til að fá betri skilning á þessu tóli höfum við fjallað um nokkur hagnýt dæmi um þessa skipun í greininni.
1. Dæmi um Basic Rename Command
Segjum að þú hafir fullt af skrám með .html endingunni og þú vilt endurnefna allar .html skrár í .php í einu. Til dæmis, gerðu fyrst „ls -l“ til að athuga listann yfir skrár með „.html“ endingunni.
# [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ú viltu breyta framlengingu allra þessara skráa úr .html í .php. Þú getur notað eftirfarandi „endurnefna“ skipun með perl tjáningu eins og sýnt er hér að neðan.
[email :~$ rename 's/\.html$/\.php/' *.html
Athugið: Í ofangreindri skipun höfum við notað tvö rök.
- Fyrstu rökin eru perl tjáning sem kemur í stað .html fyrir .php.
- Önnur röksemdafærsla segir endurnefna skipuninni að skipta öllum skrám út fyrir *.php.
Við skulum ganga úr skugga um hvort allar skrár séu endurnefndir í .php endinguna, með því að gera ls -l á hvetjunni.
[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ú geturðu séð hér að ofan að allar html skrárnar eru endurnefndir í php.
2. Athugaðu breytingar áður en þú keyrir Rename Command
Þegar þú gerir mikilvæg eða meiriháttar endurnefna verkefni geturðu alltaf athugað breytingarnar með því að keyra endurnefna skipunina með „-n“ rökum. „-n“ færibreytan mun segja þér nákvæmlega hvaða breytingar myndu eiga sér stað, en breytingarnar eru ekki gerðar fyrir alvöru. Hér er dæmið um skipunina hér að neðan.
[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
Athugið: Ofangreind skipanaúttak sýnir aðeins breytingar, en í raun eru breytingarnar ekki gerðar, nema þú keyrir skipunina án -n rofa.
3. Prenta Endurnefna úttak
Við sáum að endurnefna skipunin sýndi engar upplýsingar um breytingar sem hún gerir. Svo, ef þú vilt fá upplýsingar um endurnefna skipunina (eins og við gerðum með „-n“ valmöguleikanum), hér notum við „-v“ valkostinn til að prenta allar upplýsingar um allar breytingar sem gerðar voru með endurnefna skipuninni.
[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. Umbreyttu öllum lágstöfum í hástafi og öfugt
Til að flokka endurnefna allar skrár með litlum nöfnum í hástafi. Til dæmis vil ég leyna öllum þessum eftirfarandi skrám frá lágstöfum yfir í hástafi.
[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
Bara, notaðu eftirfarandi skipun með perl tjáningu.
[email :~$ rename 'y/a-z/A-Z/' *.html
Þegar þú hefur framkvæmt ofangreinda skipun geturðu athugað breytingarnar með því að gera „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
Þú getur séð að ofangreind skipun breytti í raun öllum litlum skráarnöfnum (með .HTML endingunni) í hástafi.
Á sama hátt geturðu líka breytt öllum hástöfum í lágstafi með því að nota eftirfarandi skipun.
[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. Skrifaðu fyrsta stafinn í skráarnafni með hástöfum
Notaðu eftirfarandi skipun til að skrifa aðeins fyrsta staf í hverju skráarnafni með hástöfum.
# rename 's/\b(\w)/\U$1/g' *.ext
6. Skrifaðu yfir núverandi skrár
Ef þú vilt skrifa yfir núverandi skrár með valdi skaltu nota -f valkostinn eins og sýnt er hér að neðan.
[email :~$ rename -f 's/a/b/' *.html
Ef þú vilt vita meira um endurnefna skipunina skaltu slá inn „endurnefna mann“ í flugstöðinni.
Endurnefna skipunin er mjög gagnleg ef þú ert að fást við margfalda eða hópa endurnefna skrár frá skipanalínunni. Reyndu og láttu mig vita, hversu langt er gagnlegt hvað varðar endurnefna skrár.