Android

Sådan omdøbes filer og mapper i linux

Blender 2.8 Tutorial: How to remove people from video [VFX workspace]

Blender 2.8 Tutorial: How to remove people from video [VFX workspace]

Indholdsfortegnelse:

Anonim

Omdøbning af filer og mapper er en af ​​de mest basale opgaver, du ofte har brug for at udføre på et Linux-system.

Omdøbning af en enkelt fil er let, men at omdøbe flere filer på én gang kan være en udfordring, især for brugere, der er nye til Linux. Du kan omdøbe filer ved hjælp af en GUI-filhåndtering eller via kommandolinjeterminalen.

I denne tutorial vil vi vise dig, hvordan du bruger mv og rename kommandoer til at omdøbe filer og mapper.

Omdøbning af filer med mv Command

Kommandoen mv (kort fra flytning) bruges til at omdøbe eller flytte filer fra et sted til et andet. Syntaks for mv kommandoen er som følger:

mv source destination

source kan være en eller flere filer eller mapper, og destination kan være en enkelt fil eller katalog.

  • Hvis du specificerer flere filer som source , skal destination være et bibliotek. I dette tilfælde flyttes source til målmappen. Hvis du angiver en enkelt fil som source , og destination er et eksisterende bibliotek, flyttes filen til det specificerede bibliotek. For at omdøbe en fil, skal du specificere en enkelt fil som source og enkelt fil som destination .

For at omdøbe filen file1.txt som file2.txt , ville du f.eks. Køre:

mv file1.txt file2.txt

Omdøbning af flere filer med mv Command

Kommandoen mv kan kun omdøbe én fil ad gangen, men den kan bruges sammen med andre kommandoer, f.eks. find eller inde i bash til eller mens løkker til at omdøbe flere filer.

Følgende eksempel viser, hvordan du bruger Bash til loop til at omdøbe alle .html filer i det aktuelle bibliotek ved at ændre .html udvidelsen til .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Lad os analysere koden linje for linje:

  • Den første linje opretter en for-loop og itereres gennem en liste over alle filer, der kantes med .html . Den anden linje gælder for hvert element på listen og flytter filen til en ny, der erstatter .html med .php . Delen ${file%.html} bruger shell-parameterudvidelsen til at fjerne .html delen fra filnavnet.done viser slutningen på loop-segmentet.

Vi kan også bruge mv kommandoen i kombination med find at opnå det samme som ovenfor.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

Find-kommandoen -exec alle filer, der slutter med .html i det aktuelle bibliotek til mv kommandoen en efter en ved hjælp af -exec kontakten. Strengen {} er navnet på den fil, der i øjeblikket behandles.

Som du kan se fra eksemplerne ovenfor, er det ikke en nem opgave at omdøbe flere filer ved hjælp af mv kommandoen, da det kræver et godt kendskab til Bash-scripting.

Omdøbning af filer med omdøb af kommando

rename bruges til at omdøbe flere filer. Denne kommando er mere avanceret end mv da den kræver noget grundlæggende kendskab til regelmæssige udtryk.

Der er to versioner af rename med forskellige syntaks. I denne tutorial bruger vi perl-versionen af ​​kommandoen til rename . Hvis du ikke har denne version installeret på dit system, kan du nemt installere den ved hjælp af pakkeadministratoren til din distribution.

  • Installer omdøb på Ubuntu og Debian

    sudo apt install rename

    Installer omdøb på CentOS og Fedora

    sudo yum install prename

    Installer omdøb på Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

Syntaks for kommandoen til rename er som følger:

rename perlexpr files

perlexpr omdøber alle files henhold til det specificerede perlexpr regulære udtryk. Du kan om perl-regulære udtryk her.

For eksempel ændrer følgende kommando alle filer med udvidelsen .html til .php :

rename 's/.html/.php/' *.html

Du kan bruge argumentet -n til at udskrive navne på filer, der skal omdøbes, uden at omdøbe dem.

rename -n 's/.html/.php/' *.html

Outputet ser sådan ud:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Som standard overskriver kommandoen omdøb ikke eksisterende filer. Overfør -f argumentet for at tillade, at eksisterende filer overskrives.

rename -f 's/.html/.php/' *.html

Nedenfor er et par mere almindelige eksempler på, hvordan man bruger omdøbskommandoen:

  • Udskift mellemrum i filnavne med understregninger

    rename 'y/ /_/' *

    Konverter filnavne til små bogstaver

    rename 'y/AZ/az/' *

    Konverter filnavne til store bogstaver

    rename 'y/az/AZ/' *

Konklusion

I øjeblikket skal du have en god forståelse af, hvordan du bruger mv og rename kommandoer til at omdøbe filer. Der er selvfølgelig andre kommandoer til at omdøbe filer i Linux såsom mmv . Nye Linux-brugere, der er skræmmet af kommandolinjen, kan bruge GUI-batch-omdøbningsværktøjer såsom Métamorphose.

omdøbe mv-terminalen