Android

Gi nytt navn til kommandoen i linux (gi nytt navn til flere filer)

Mangekant. Omkrets og areal

Mangekant. Omkrets og areal

Innholdsfortegnelse:

Anonim

Å gi nytt navn til flere filer og kataloger med mv kommandoen kan være en kjedelig prosess, da det innebærer å skrive komplekse kommandoer med rør, løkker og så videre.

Det er her rename kommandoen er nyttig. Den gir navn til de gitte filene ved å erstatte søkeuttrykket i navnet sitt med den angitte erstatningen.

I denne opplæringen vil vi forklare hvordan du kan bruke rename kommandoen til å bytte nye navn til filer.

Installerer rename

Det er to versjoner av rename kommandoen med forskjellige syntaks og funksjoner. Vi bruker Perl-versjonen av rename .

Hvis denne versjonen ikke er installert på systemet ditt, bruk pakkehåndtereren for Linux-distribusjonen din for å installere den:

  • Ubuntu og Debian

    sudo apt update sudo apt install rename

    CentOS og Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Ved å bruke rename

Følgende er den generelle syntaks for rename kommandoen:

rename perlexpr files

rename kommandoen er i utgangspunktet et Perl-skript. Det vil gi nytt navn til de gitte files henhold til det spesifiserte perlexpr regulære uttrykket. Du kan lese om Perl-regulære uttrykk her.

For eksempel vil følgende kommando endre utvidelsen av alle .css filer til .scss :

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

La oss forklare kommandoen mer detaljert:

  • s/search_pattern/replacement/ - Substitusjonsoperatøren. .css - .css . Det er det første argumentet i substitusjonsoperatøren. rename kommandoen vil søke etter dette mønsteret i det gitte filnavnet, og hvis funnet, vil det erstatte det med erstatningsargumentet. .scss - Erstatningen. Det andre argumentet i substitusjonsoperatøren. *.css - Alle filer med ".css" -utvidelse. Jokertegn ( * ) er et symbol som brukes til å representere null, ett eller flere tegn.

Før du kjører den faktiske kommandoen og gir nytt navn til filene og katalogene, er det alltid en god ide å bruke alternativet -n som vil utføre et "tørt løp" og vise deg hvilke filer som skal gi nytt navn:

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

Utgangen vil se slik ut:

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 overskriver ikke rename kommandoen de eksisterende filene. Bruk alternativet -f som forteller rename å overskrive de eksisterende filene:

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

rename

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

Konklusjon

rename kommandoen lar deg gi nytt navn til flere filer samtidig, ved å bruke Perl-regulære uttrykk.

gi nytt navn til terminal