Brukerhåndbok: Bruk endre navn på Command On Linux
Har du noen gang prøvd å bruke kommandoen omdøpe på Linux ? Vil du ta tak i filen som omdøper kraftverket i Linux-verdenen og gi mv —og deg selv — en hvile. Endre navn er raskt, fleksibelt og ganske lettere. Her er en detaljert veiledning om dette kraftverket for en kommando.
Hva går galt med mv?
Det er ingenting som gikk galt med mv . Imidlertid gjør kommandoen en god jobb. Du kan også finne den på alle Linux-distribusjoner, i macOS og i annet Unix-lignende operativsystem. Det er imidlertid alltid tilgjengelig. Men absolutt, du vil ikke ha en spade, men trenger en bulldozer.
Kommandoen mv har et formål i livet, og det er å flytte filer. Det er en trygg bivirkning at den kan brukes til å flytte en eldre fil inn i den nye filen, med et nytt navn. Effekten er å gi nytt navn til filen, slik at du får det du vil ha. Men mv er ikke et tilpassingsverktøy for filnavn.
Hvordan endre navn på en enkelt fil med mv

Hvis du vil bruke mv for å gi nytt navn til en fil, skriv deretter inn mv, space, filnavnet, space og det nye navnet du vil at filen skal ha. Trykk deretter på Enter.
Du kan også bruke ls for å kontrollere at filen blir omdøpt eller ikke
mv renameHvordan endre navn på flere filer med mv
Ting blir komplekse etter å gi nytt navn til flere filer. perl-rename har ingen mulighet til å håndtere å gi nytt navn til forskjellige filer. Du må ty til å bruke noen nyttige Bash-triks. Det er bra hvis du kjenner til noen kommandolinjefu av middels klasse, men vanskeligheten med å gi nytt navn til forskjellige filer med mv står bare for brukervennligheten mv for å gi nytt navn til en enkelt fil.
Ting eskalerer øyeblikkelig.
La oss si at her er en katalog med mange filer i, av forskjellige typer. Noen filer har en .prog Utvidelse. Vi ønsker å gi disse filene nytt navn på kommandolinjen slik at de har en .prg Utvidelse.
La oss ta en titt på filene.
renameHer er en metode for å gjøre det som ikke kan ty til å skrive en faktisk Bash-skriptfil.
renameFungerte det eller ikke? La oss sjekke filene og fortsette videre.
renameSå det fungerer bra. De er alle det .prg filer nå, og det er ingen .prog filer i katalogen.
Hva skjedde?
Hva gjorde egentlig den lange kommandoen? La oss sjekke det ut.
prenameDen første delen begynner en sløyfe som skal behandle hver .prog filen i katalogen, i sin tur.
En annen del sier hva behandlingen vil gjøre . Det bruker mv for å flytte hver fil til den nye filen. Det nye filnavnet kommer til å være ganske likt det originale filnavnet bortsett fra .prog-delen. Også utvidelsen av .prg vil bli brukt.
Her er en enkel måte
Mest sannsynlig. Her er endre navn kommando.

Det er ikke en del av standard Linux-distribusjon, så du vil installere den. Det har også et annet navn i forskjellige familier av Linux, men de fungerer alle på en lignende måte. Du vil ganske enkelt erstatte riktig kommandonavn i henhold til smaken av Linux du bruker.
I Debian-avledede eller Ubuntu-distribusjoner installerer du ganske enkelt perl-rename som dette:
*.progI RedHat-avledede distribusjoner eller Fedora installerer du ganske enkelt fornavn som dette. Husk at den første p, står for Perl.
renameBruk følgende kommando for å installere den i Manjaro Linux. Husk at omdøpningskommandoen er kjent som s.
.progBruk endre navn på Command -> Come Let’s One More Try
Her bruker vi rename. Vi gjør dette slik at vi har et sett med .prog-filer.
.prgLa oss bruke kommandoen nedenfor for å gi dem nytt navn. Vi vil også sjekke med ls kommandere om det fungerte eller ikke. Hvis du vil erstatte rename med det nøyaktige kommandonavnet for Linux hvis ikke kan bruke Ubuntu eller et Debian-avledet Linux.
ls lsDet fungerer bra, nå er de alle .prg-filer unntatt .prog filer som er igjen i katalogen.
Hva skjedde her?
La oss diskutere det i tre deler.
I først del, vil du se kommandonavnet rename (eller ls eller ls, for de andre distribusjonene).
Den tredje siste del er ^, som forklarer $ for å operere alle .prog-filer.
De sekund del forklarer arbeidet vi liker å bli gjort på hvert filnavn. ^ betyr vikar. Den første terminen (ls) er hva ls vil se etter i hvert filnavn, og den andre termen (ls) er det den skal erstattes med.
hvordan du tørker en diskusjonsprat
Kommandoene midtdel eller sentralt uttrykk er et Perl ‘regulært uttrykk’ og det er det som gir s/ befaler dens pålitelighet.
Endring av andre deler av et filnavn
Vi har endret filnavnutvidelser så langt, la oss endre andre deler av filnavnene.
I katalogen er det mange C-kildekodefiler. Alle filnavn er foran slang_. Vi kan også sjekke dette med y/.
a-zHer erstatter vi alle forekomster av slang_ med sl_. Kommandoformatet er ganske kjent for oss. Vi endrer bare søkeord, erstatningsterm og filtype.
A-ZHer søker vi etter .c-filer, og ser etter slang_. Hver gang du fant slang_ i et filnavn, erstattes det med sl_.
Du kan også sjekke kommandoresultatet etter å ha gjentatt kommandoen ls ovenfra ved hjelp av de samme parametrene:
a-zFjerne en del av et filnavn
Vi kan også slette en del av et filnavn etter å ha erstattet søkeordet med ingenting.
mv oldfile.txt newfile.txt
Vi kan også se fra ls befale at vår .c filer er alle forhåndsbetalt med sl_. La oss forlate det helt.
De endre navn kommandoen følger samme format som nevnt ovenfor. Vi skal søke etter .c-filer. Søkeordet er sl_, men det er ingen term for erstatning. To tilbakeslag '//' uten noe mellom dem betyr en tom streng.
ls *.txtkan behandle hver .c-fil etter tur. Det søker også etter sl_ i filnavnet. Hvis du fant det, kan du bli erstattet av ingenting. Alternativt fjernes søkeordet.
En annen bruk av
ls *.prog -lkommandoen bekrefter at sl_-prefikset er slettet fra hver .c-fil.
Grense endres til bestemte deler av filnavn
Kom la oss bruke
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' for å se på filer som har strengparameteren i filnavnet. Så bruker vi endre navn kommando for å erstatte strengen via strengparameter. Også bruker vi ls en gang til for å se effekten av endre navn kommandoen har hatt på disse filene.ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' sudo apt-get install rename
Deretter ser du fire filer som har Stoppe i filnavnet. param.c, param_one.c og param_two.c har alle Stoppe på begynnelsen av navnet deres. third_param.c har Stoppe på siste av navnet sitt, like før utvidelsen.
Du kan søke endre navn kommando for param overalt i filnavnet. Du kan deretter erstatte den med parameter i alle tilfeller.
En annen bruk av ls kommandoen viser oss at det som har skjedd nøyaktig. Om Stoppe var i begynnelsen eller på slutten av filnavnet. Du kan også erstatte den med en parameter.
Vi kan bruke Perls metategn for å rense oppførselen til det sentrale uttrykket. Metategn er tegnene som representerer sekvenser eller posisjoner av tegn. For eksempel
sudo dnf install prenamebetyr start på en streng, (.) betyr ethvert enkelt tegn (i tillegg til et nytt linjetegn),
sudo pacman -Syu perl-renamebetyr slutten på en streng.
Vi bruker også begynnelsen på strengmetakarakter (
ls *.prog) for å begrense søket til starten av filnavnene.
rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c
Filene vi omdøpte er oppført tidligere. Vi kan også se at strengparameteren er i begynnelsen av 3 filnavn, og den ligger på slutten av et av filnavnene.
Våre endre navn kommandoen bruker begynnelsen av linjemetakarakteren (^) før parameteren for søkeordet. Det forklarer å bare vurdere søkeordet som ble funnet hvis det er i begynnelsen av filnavnet. Søkestrengsparameteren vil unngås hvis den er noe annet sted i filnavnet.
Ser vi med
ls sl*.c, kan vi da se at filnavnet har parameteren ved siste av filnavnet er ikke endret. Men de tre filnavnene har parameteren ved begynnelsen av navnene deres med søkestreng erstattet av erstatningsverdien.
De endre navn makt ligger i kraften til Perl.
Ser med grupperinger
Her er tilfelle der du sannsynligvis har filer med de samme strengene i navnet. De er ikke like nøyaktig de samme strengene, så du bare ser etter, og substitusjon kan ikke fungere her.
I dette eksemplet bruker vi
ls *.c rename 's/sl_//' *.c ls *.cfor å se hvilke filer vi har som begynner med str. Det er også to av dem, string.c og strangle.c. Vi kan også gi nytt navn til begge strengene etter å ha brukt en metode kjent som en gruppering.
Midtuttrykket til endre navn kommandoen vil søke etter strenger i filnavn som har tegnsekvensen stri eller stra. Her følges disse sekvensene av ng. Alternativt vil søkeordet vårt se etter streng og merkelig. Erstatningsuttrykket er smell.
ls *param*
rename 's/param/parameter' *.c
ls *param*
Etter bruk
ls *param*.cen annen gang bekrefter at string.c har blitt en bang.c og strangle.c er nå bangle.c.
Bruk omdøpe Kommando med oversettelser
De endre navn kommando utfører alle handlinger på filnavn kjent som oversettelser. Her er et eksempel på en oversettelse som tvinger et sett med filnavn til store bokstaver.
I endre navn kommandoen nedenfor, varsler at vi ikke bruker en
rename 's/^parameter/value/' *.ctil begynnelsen av det midtre uttrykket, bruker vi
ls *param*.c. Det forklarer at kommandoen ikke kan utføre en erstatning; vi utfører en oversettelse.
Begrepet
ls value*.cer et Perl-uttrykk. Det betyr at alle små bokstaver i sekvensen fra a til z. Men, begrepet
ls str*.crepresenterer alle store bokstaver i sekvensen fra A til Å.
Midtuttrykket i denne kommandoen kan omskrives som om noen av små bokstaver fra a til z blir funnet i filnavnet. Den erstatter dem ved å bruke de tilsvarende tegnene fra rekkefølgen på store bokstaver fra A til Å.
Hvis du vil tvinge filnavnene til alle .prg-filer til store bokstaver, bruker du bare denne kommandoen:
endre navn på ‘y / a-z / A-Z /’ * .prg
rename 's/(stri|stra)ng/bang/' *.c
Kommandoen
ls ban*.cvis oss at alle .prg utvidelsesfiler er nå med store bokstaver. For å være strengt nøyaktige, er de ikke det .prg filer lenger. De er .PRG-filer. Forsikre deg om at Linux er mellom store og små bokstaver.
Vi kan også reversere den siste kommandoen etter å ha returnert til posisjonen til
ls *.PRGog AZ termer i midtuttrykket.
endre navn på ‘y / A-Z / a-z /’ * .PRG
ls * .prg
Du kan ikke lære Perl på fem minutter
Å få tak i Perl er godt brukt tid. Men for å begynne å bruke tidsbesparende funksjoner til endre navn kommando, ser du ikke å ha mye Perl-kunnskap i det hele tatt for å høste store fordeler i kraft.
Konklusjon:
Her handler alt om 'Bruk endre navn på Command On Linux'. Hva er dine synspunkter om det? Hvis du vil dele noen annen metode eller tips angående artikkelen, så gi oss beskjed nedenfor. For ytterligere spørsmål og spørsmål, gi oss beskjed i kommentarfeltet nedenfor!
Les også:


