introduktion
Linuk giver flere muligheder for omdøbning af filer, herunder brug af GUI og flere dedikerede terminalkommandoer. Dette gør det relativt nemt at omdøbe individuelle filer, men det kan være udfordrende at omdøbe flere filer på en gang.
i denne tutorial gennemgår vi forskellige kommandoer, du kan bruge i linukterminalen til at omdøbe filer i Linuk.
forudsætninger
- et system, der kører en distribution
- en konto med sudo-privilegier
- adgang til terminalvinduet/kommandolinjen
- adgang til en teksteditor, såsom Vim eller Nano
Omdøb filer med mv-kommandoen
kommandoen mv
(Flyt) bruges til at flytte filer og mapper fra terminalen. Det bruger følgende syntaks:
mv
hvis du angiver en mappe som destination, når du bruger kommandoen mv
, flyttes kildefilen til den pågældende mappe. Hvis destinationen er et andet filnavn, omdøber kommandoen mv
kildefilen til det navn i stedet.
Bemærk: få mere at vide om at bruge kommandoen mv i vores guide til flytning af mapper.
Omdøb en enkelt fil med mv-kommandoen
ved hjælp af kommandoen mv
med dens standardsyntaks kan du omdøbe en enkelt fil:
mv
for eksempel, hvis vi vil omdøbe eksempel1.tekst ind i eksempel2.TDC, vi ville bruge:
mv example1.txt example2.txt
da der ikke er nogen output, hvis kommandoen er vellykket, bruger vi kommandoen ls
til at kontrollere, om navnet er ændret:
ls -l
Omdøb flere filer med mv-kommandoen
på egen hånd omdøber kommandoen mv
en enkelt fil. Men ved at kombinere det med andre kommandoer kan du omdøbe flere filer på samme tid.
en metode er at bruge kommandoen find
til at vælge flere filer med et lignende navn og derefter bruge kommandoen mv
til at omdøbe dem:
find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;
ved hjælp af denne syntaks definerer kommandoen find
et element i det aktuelle filnavn som søgeparameter. Dernæst -exec
udfører kommandoen mv
på alle filer, der matcher søgningen, og ændrer deres nuværende filnavne til den nye.
for eksempel, hvis vi har eksempel1.tekst, eksempel2.tekst og eksempel3.vil ændre udvidelsen til .pdf:
find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
en anden metode er at bruge kommandoen mv
som en del af en <strong>for</strong>
loop i et bash-script.
brug det samme eksempel til at starte med at oprette og åbne en bash-scriptfil ved hjælp af en teksteditor som Nano:
sudo nano rename_files.sh
Bemærk: få mere at vide om at bruge bash-scripts til at administrere filer og mapper.
tilføj følgende linjer til scriptet:
#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done
i scriptet ovenfor:
- den første linje instruerer scriptet til at søge efter alle filerne i den aktuelle mappe, der slutter med .TST.
- den anden linje bruger kommandoen
mv
på hver fil, der findes til at erstatte .tekst udvidelse med .pdf. - den tredje linje slutter sløjfesegmentet.
tryk på Ctrl+H, skriv derefter Y og tryk på Enter for at gemme ændringerne i scriptet og afslutte.
brug kommandoen sh
til at udføre scriptet:
sh rename_files.sh
Omdøb fil med kommandoen Omdøb
kommandoen rename
bruges til at omdøbe flere filer eller mapper. Det tilbyder flere funktioner end kommandoen mv
, men kan være mere udfordrende at bruge, da det kræver grundlæggende viden om Perl-udtryk.
Sådan installeres kommandoen Omdøb
på mange distributioner er kommandoen rename
ikke tilgængelig som standard. Hvis dit system mangler kommandoen rename
, skal du installere den med:
- til Ubuntu og Debian, brug
sudo apt install rename
- til CentOS og Fedora, brug
sudo yum install prename
- til Arch Linuks, brug
sudo pacman -S
Omdøb
Omdøb Kommandosyntaks og indstillinger
der er tre typer Perl regulære udtryk: match, erstatning og oversættelse. Kommandoen rename
bruger udtryk for erstatning og oversættelse til at ændre fil-og katalognavne.
Erstatningsudtryk erstatter en del af filnavnet med en anden streng. De bruger følgende syntaks:
rename 's///'
med denne syntaks omdøber kommandoen filen ved at erstatte den første forekomst af filnavnselementet med udskiftningen. I kommandoen ovenfor:
-
rename
: påkalder kommandoen Omdøb. -
: indeholder et valgfrit argument, der ændrer den måde, kommandoen udføres på.
-
s
: angiver et erstatningsudtryk. -
: angiver den del af filnavnet, du vil erstatte.
-
: angiver en erstatning for den del af det aktuelle filnavn.
-
: definerer den fil, du vil omdøbe.
et oversæt udtryk oversætter en streng af tegn til en anden, tegn for tegn. Denne type udtryk bruger følgende syntaks:
rename 'y///'
et eksempel på en rename
kommando ved hjælp af et oversæt udtryk:
rename 'y/abc/xyz/'
i dette eksempel erstattes hvert a-tegn i filnavnet med et h, hvert b med et y og hvert c med et å.
kommandoen Omdøb bruger følgende indstillinger:
-
-a
: erstatter alle forekomster af filnavneelementet i stedet for kun den første. -
-f
: Tvinger en overskrivning af eksisterende filer. -
-h
: viser hjælpeteksten. -
-i
: viser en prompt, før du overskriver eksisterende filer. -
-l
: erstatter den sidste forekomst af filnavnselementet i stedet for den første. -
-n
: udfører et tørt løb, der ikke foretager permanente ændringer. Bedst kombineret med verbose output (-v
). -
-s
: omdøber målet i stedet for symlink. -
-v
: viser en detaljeret version af output. -
-V
: viser kommandoen version.
Omdøb Kommandoeksempler
1. Skift filtypenavn
vender tilbage til vores sidste eksempel for at ændre filtypenavnet fra .tekst til .pdf, brug:
rename -v 's/.txt/.pdf/' *.txt
2. Udskiftning af en del af et filnavn
udskiftning af en anden del af filnavnet følger den samme syntaks. For at omdøbe eksempel1.tekst, eksempel2.tekst og eksempel3.tekst til test1.test2.tekst og tekst3.tekst, brug:
rename -v 's/example/test/' *.txt
3. Slet en del af et filnavn
indstillingen rename
giver dig også mulighed for at slette en del af filnavnet ved at udelade erstatningsdelen af udtrykket. For eksempel, hvis vi vil forkorte eksempel til eks:
rename -v 's/ample//' *.txt
4. Omdøb filer med lignende navne
en anden anvendelse til rename
mulighed er at omdøbe filer med lignende navne. For eksempel, hvis vi vil omdøbe filer med eksempel og prøve i deres navn for at teste:
rename -v 's/(ex|s)ample/test/' *.txt
5. Omdøb filer tegn for tegn
kommandoen rename
giver dig også mulighed for at bruge Oversæt udtryk til at omdøbe filer på tegn for tegn. For eksempel, hvis du vil omdøbe flere filer med navnet eksempelfil ved at erstatte det tomme rum med en understregning (_):
rename -v 'y/ /\_/' *.txt
6. Konverter små bogstaver
for at konvertere små bogstaver i filnavne til store bogstaver skal du bruge:
rename -v 'y/a-z/A-Z/' *.txt
7. Konverter store bogstaver
omvendt fungerer også, hvis vi skifter rækkefølgen af store og små bogstaver i udtrykket:
rename -v 'y/A-Z/a-z/' *.TXT
Bemærk: Vær forsigtig, når du ændrer tegnsagen, da dette også ændrer filtypen.
konklusion
efter at have læst denne tutorial, skal du være i stand til at omdøbe filer ved hjælp af kommandoerne mv
og rename
.
få mere at vide om brug af kommandoer i Cheat Sheet.