Kuidas kasutada Linuxis käsku ümber nimetada

Tutvuge Linuxi maailma jõujaama ümbernimetamise failidega ja andke mv- ja ennast - puhata. Nimeta ümber on paindlik, kiire ja mõnikord isegi lihtsam. Siin on selle käsu võimla õpetus.

Mis on mv-ga valesti?

Selles pole midagi halba mv . Käsk teeb suurepärast tööd ja seda leidub kõigis Linuxi distributsioonides, macOS-is ja teistes Unixi-laadsetes operatsioonisüsteemides. Nii et see on alati saadaval. Kuid mõnikord on vaja ainult buldooserit, mitte kühvlit.

The mv käsul on elus eesmärk ja see on failide teisaldamine. On hea meel, et seda saab kasutada olemasoleva faili teisaldamiseks sisse uus fail uue nimega. Netoefekt on faili ümbernimetamine, nii et saame selle, mida tahame. Aga mv ei ole spetsiaalne failide ümbernimetamise tööriist.

Ühe faili ümbernimetamine mv-ga

Kasutada mv failitüübi ümbernimetamiseks mv, tühik, faili nimi, tühik ja uus nimi, mida soovite failil kasutada. Seejärel vajutage sisestusklahvi.

Sa võid kasutadals faili ümbernimetamiseks.

mv oldfile.txt newfile.txt
ls * .txt

Mitme faili ümbernimetamine mv-ga

Asjad muutuvad keerulisemaks, kui soovite mitu faili ümber nimetada. mv ei saa hakkama mitme faili ümbernimetamisega. Peate kasutama mõnda uhket Bashi trikki. See on hea, kui teate mõnda keskmise klassi käsurea fu, kuid mitme faili ümbernimetamise keerukus mv seisab teravas kontrastis kasutamise lihtsusega mv ühe faili ümbernimetamiseks.

Asjad eskaleeruvad kiiresti.

Oletame, et meil on kataloog, kus on erinevaid faile, erinevat tüüpi. Mõnel neist failidest on laiend .prog. Soovime need käsureal ümber nimetada, nii et neil oleks laiend “.prg”.

Kuidas me rabeleme mv meie jaoks seda tegema? Vaatame faile.

ls * .prog -l

Selleks on üks viis, mis ei kasuta tegeliku Bashi skriptifaili kirjutamist.

f jaoks * .prog; tee mv - "$ f" "$ {f% .prog} .prg"

Kas see töötab? Kontrollime faile ja näeme.

ls * .pr *

Nii, jah, see töötas. Need on nüüd kõik .prg-failid ja kataloogis pole ühtegi .prog-faili.

Mis just juhtus?

Mida see pikk käsk tegelikult tegi? Jagame selle laiali.

f jaoks * .prog; tee mv - "$ f" "$ {f% .prog} .prg"

Esimene osa käivitab tsükli, mis hakkab omakorda töötlema kõiki kataloogis olevaid .prog-faile.

Järgmises osas öeldakse, mida töötlemine tähendab tegema. See kasutabmv iga faili teisaldamiseks uude faili. Uut faili hakatakse nimetama algse faili nimega, välja arvatud osa .prog. Selle asemel kasutatakse uut .prg laiendit.

Peab olema lihtsam viis

Kindlasti. See on ümber nimetada käsk.

ümber nimetada ei kuulu tavapärase Linuxi jaotuse hulka, seega peate selle installima. Samuti on sellel erinevates Linuxi perekondades erinev nimi, kuid need kõik töötavad samamoodi. Peate lihtsalt asendama sobiva käsunime vastavalt kasutatavale Linuxi maitsele.

installitud Ubuntu ja Debiani tuletatud jaotustes ümber nimetada nagu nii:

sudo apt-get installi ümbernimetamine

Fedora ja RedHati tuletatud jaotustes installite eesnimi nagu nii. Pange tähele algust "p", mis tähistab Perli.

sudo dnf installi eesnimi

Manjaro Linuxi installimiseks kasutage järgmist käsku. Pange tähele, et nimetatakse ümbernimetamise käsku perl-ümbernimetamine.

sudo pacman -Syu perl-ümbernimetamine

Teeme seda uuesti

Ja seekord me kasutame ümber nimetada. Keerame kella tagasi, et meil oleks komplekt .prog-faile.

ls * .prog

Kasutame nüüd nende ümbernimetamiseks järgmist käsku. Seejärel kontrollime ls kas see töötas. Ärge unustage asendada ümber nimetada oma Linuxi jaoks sobiva käsunimega, kui te ei kasuta Ubuntu ega Debiani tuletatud Linuxi.

nimetage 's / .prog / .prg /' * .prog ümber
ls * .pr *

See töötas, need on nüüd kõik .prg-failid ja kataloogi pole jäänud .prog-faile.

Mis juhtus see TIme?

Selgitame seda maagiat kolmes osas.

The kõigepealt osa on käsu nimi, ümber nimetada (või eesnimi või perl-ümbernimetamine (muude jaotuste kohta).

The viimane osa on * .prog, mis ütleb ümber nimetada kõigi “.prog” failide kasutamiseks.

The keskel osa määratleb töö, mida soovime teha iga failinime puhul. The s tähendab asendajat. Esimene termin (.prog) on mis ümber nimetada otsib igast failinimest ja teisest terminist (.prg) on see, millega see asendatakse.

Käsu keskosa ehk keskväljend on Perli ‘regulaarne avaldis’ ja see annabki ümber nimetada käsk selle paindlikkust.

Failinime muude osade muutmine

Oleme siiani muutnud failinimede laiendusi, muudame failinimede teisi osi.

Kataloogis on palju C-lähtekoodi faile. Kõigile failinimedele on lisatud eesliit “slang_”. Me saame seda kontrollida ls.

ls sl * .c

Asendame kõik slängi_ esinemised sõnaga „sl_”. Käsu formaat on meile juba tuttav. Muudame lihtsalt otsinguterminit, asendusterminit ja failitüüpi.

nimetage 's / slang_ / sl_' * .c ümber

Seekord otsime „.c” faile ja otsime „slang_”. Kui failinimes leitakse „slang_”, asendatakse see „sl_” -ga.

Selle käsu tulemust saame kontrollida, korrates ls käsk ülalt samade parameetritega:

ls sl * .c

Failinime osa kustutamine

Saame osa failinimest eemaldada, asendades otsingutermini mitte millegagi.

ls * .c
nimetage 's / sl _ //' * .c ümber
ls * .c

Näeme ls käsk, et kõik meie .c-failid oleksid eeltäidetud tähega “sl_”. Vabaneme sellest täielikult.

The ümber nimetada käsk järgib sama vormingut nagu varem. Otsime .c-faile. Otsingutermin on “sl_”, kuid asendusterminit pole. Kaks tagasilööki, mille vahel pole midagi, ei tähenda midagi, tühi string.

ümber nimetada töötleb iga “.c” faili kordamööda. See otsib failinimes sõna „sl_”. Kui see leitakse, ei asendata seda millegagi. Teisisõnu, otsingutermin kustutatakse.

Teise kasutamise ls käsk kinnitab, et prefiks “sl_” on eemaldatud igast “.c” failist.

Piirake failinimede teatud osade muudatusi

Kasutagem ls vaadata faile, mille failinimes on string “param”. Siis me kasutame ümber nimetada selle stringi asendamiseks stringiga “parameeter”. Kasutame ls veel kord, et näha mõju ümber nimetada käsk on neil failidel olnud.

ls * param *
ümber nimetada 's / param / parametri' * .c
ls * param *

Leitakse neli faili, mille failinimes on „param”. param.c, param_one.c ja param_two.c on kõigil parameetrid algus nende nimest. third_param.c-l on parameeter lõpp nime vahetult enne laiendust.

The ümber nimetada käsk otsib failinimes kõikjal sõna "param" ja asendab selle kõigil juhtudel parameetriga.

Teise kasutamisels käsk näitab meile, et just nii on juhtunud. Olenemata sellest, kas „param” oli failinime alguses või lõpus, on see asendatud parameetriga.

Keskmise avaldise käitumise täpsustamiseks võime kasutada Perli metamärke. Metamärgid on sümbolid, mis tähistavad tähtede positsioone või järjestusi. Näiteks, ^ tähendab "stringi algust" $ tähendab "stringi lõppu" ja . tähendab mis tahes üksikut tähemärki (välja arvatud uue rea tähemärk).

Kasutame stringi metamärgi algust ( ^ ), et meie otsing piirduks failinimede algusega.

ls * param * .c
nimetage 's / ^ parameeter / väärtus /' * .c ümber
ls * param * .c
ls väärtus * .c

Varem ümbernimetatud failid on loetletud ja näeme, et string "parameeter" on kolme failinime alguses ja see on ühe failinime lõpus.

Meie ümber nimetada käsk kasutab rea algust(^) metamärk enne otsinguterminit „parameeter“. See ütleb ümber nimetada lugeda otsitavat terminit leituks ainult siis, kui see on failinime alguses. Otsingu stringi “parameeter” eiratakse, kui see asub kuskil mujal failinimes.

Kontrollimine ls, näeme, et failinimi, millel oli parameeter lõpp failinimest ei ole muudetud, kuid kolm failinime, millel oli parameeter algus nende nimedest on otsing string asendatud asendusterminiga „väärtus”.

Võimsus ümber nimetada peitub Perli võimuses. Teie käsutuses on kogu Perli võim.

Rühmitustega otsimine

ümber nimetada on oma varrukas veel rohkem trikke teinud. Vaatleme juhtumit, kus teie nimedes võib olla sarnaste stringidega faile. Need pole täpselt samad stringid, nii et lihtne otsimine ja asendamine siin ei toimi.

Selles näites kasutame ls et kontrollida, millised meil olevad failid algavad tähega “str”. Neid on kaks, string.c ja strangle.c. Me võime mõlemad stringid korraga ümber nimetada, kasutades tehnikat, mida nimetatakse grupeerimiseks.

Selle keskne väljendus ümber nimetada käsk otsib failinimedes stringe, mille tähemärkide järjestus on "stri" või "Stra", kus neile järjestustele järgneb kohe "ng". Teisisõnu, meie otsingutermin otsib sõna "string" ja “Kummaline”. Asendustermin on “pauk”.

ls str * .c
nimetage 's / (stri | stra) ng / bang /' * .c ümber
ls keelake * .c

Kasutaminels teine ​​kord kinnitab, et string.c on muutunud bang.c ja kägistamine.c on nüüd bangle.c.

Tõlgete kasutamine ümbernimetamisega

The ümber nimetada käsk saab toiminguid teha failinimedega, mida nimetatakse tõlgeteks. Tõlke lihtne näide oleks failinimede komplekti sundimine suurtähtedesse.

Aastal ümber nimetada all olev käsk märkab, et me ei kasuta s / keskse avaldise alustamiseks kasutame jah /. See ütlebümber nimetada me ei tee asendust; teeme tõlget.

The a-z termin on Perli avaldis, mis tähendab kõiki väikseid tähti järjestuses a kuni z. Samamoodi on A-Z termin tähistab kõiki suuri tähti järjestuses A kuni Z.

Selle käsu keskse avaldise võiks parafraseerida järgmiselt: "Kui failinimes leitakse mõni väiketäht a-st z-ni, asendage need vastavate tähtedega suurtähtede järjestusest A-st Z-ni".

Kõigi “.prg” -failide nimede sundimiseks suurtähtedeks kasutage seda käsku:

nimetage ümber y / a-z / A-Z / ’* .prg

ls * .PRG

The ls käsk näitab meile, et kõik .prg-failinimed on nüüd suurtähtedega. Tegelikult pole need täpse täpsuse huvides enam ".prg" -failid. Need on .PRG-failid. Linux on tõstutundlik.

Selle viimase käsu saame ümber pöörata, muutes a-z ja A-Z terminid keskses väljendis.

nimetage ümber y / A-Z / a-z / ’* .PRG

ls * .prg

Sa (ei | tee) ei õpi Perli viie minutiga

Perliga tutvumine on hästi kulutatud aeg. Kuid selleks, et hakata kasutama ajasäästlikke võimalusi ümber nimetada käsu korral ei pea teil olema palju Perli teadmisi, et saada võimust, lihtsusest ja ajast suurt kasu.