Android

Byt namn på kommandot i Linux (byta namn på flera filer)

1DV024 - F00 - Kursintroduktion, introduktion till C#

1DV024 - F00 - Kursintroduktion, introduktion till C#

Innehållsförteckning:

Anonim

Att byta namn på flera filer och kataloger med mv kommandot kan vara en tråkig process eftersom det handlar om att skriva komplexa kommandon med rör, slingor och så vidare.

Det är här rename namnbyte är praktiskt. Den byter namn på de givna filerna genom att ersätta sökuttrycket i deras namn med den angivna ersättningen.

I den här tutorialen kommer vi att förklara hur man använder rename kommandot för att gruppera namn på filer.

Installera rename

Det finns två versioner av rename nytt rename med olika syntax och funktioner. Vi kommer att använda Perl-versionen av rename nytt rename .

Om den här versionen inte är installerad på ditt system, använd pakethanteraren för din Linux-distribution för att installera den:

  • Ubuntu och Debian

    sudo apt update sudo apt install rename

    CentOS och Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Använda rename

Följande är den allmänna syntaxen för kommandot rename :

rename perlexpr files

rename namnet är i princip ett Perl-skript. Den byter namn på de givna files enligt det angivna perlexpr reguljära uttrycket. Du kan läsa om Perl-reguljära uttryck här.

Till exempel kommer följande kommando att ändra tillägget för alla .css filer till .scss :

rename 's/.css/.scss/' *.css

Låt oss förklara kommandot i mer detaljer:

  • s/search_pattern/replacement/ substitution s/search_pattern/replacement/ - Substitutionsoperatören. .css - .css . Det är det första argumentet i substitutionsoperatören. rename kommandot söker efter detta mönster i det givna filnamnet och om det hittas kommer det att ersätta det med ersättningsargumentet. .scss - Ersättningen. Det andra argumentet i substitutionsoperatören. *.css - Alla filer med ".css" -tillägg. Wildcard ( * ) är en symbol som används för att representera noll, en eller flera tecken.

Innan du kör det verkliga kommandot och byter namn på filerna och katalogerna är det alltid en bra idé att använda alternativet -n som kommer att utföra en "torr körning" och visa vilka filer som kommer att byta namn:

rename -n 's/.css/.scss/' *.css

Utgången ser ut så här:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

Som standard skriver inte namnet på kommandot över de befintliga filerna. Använd alternativet -f som säger rename att skriva över befintliga filer:

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

Döp om

rename 's/\.jpe?g$/.jpg/i' *

Slutsats

Med rename kommandot kan du byta namn på flera filer samtidigt med Perl-reguljära uttryck.

byta namn på terminal