GNU/Linux >> Linux Esercitazione >  >> Linux

Rinomina comando in Linux (rinomina più file)

Rinominare più file e directory con mv command può essere un processo noioso in quanto comporta la scrittura di comandi complessi con pipe, loop e così via.

Qui è dove il rename il comando è utile. Rinomina i file dati sostituendo l'espressione di ricerca nel loro nome con la sostituzione specificata.

In questo tutorial spiegheremo come usare rename comando per rinominare i file in batch.

Installazione di rename #

Esistono due versioni di rename comando con sintassi e caratteristiche diverse. Useremo la versione Perl di rename comando.

Se questa versione non è installata sul tuo sistema, usa il gestore di pacchetti della tua distribuzione Linux per installarla:

  • Ubuntu e Debian

    sudo apt updatesudo apt install rename
  • CentOS e Fedora

    sudo yum install prename
  • Arch Linux

    yay perl-rename

Utilizzo di rename #

Quella che segue è la sintassi generale per rename comando:

rename [OPTIONS] perlexpr files

Il rename comando è fondamentalmente uno script Perl. Rinominerà i files dati secondo il perlexpr specificato espressione regolare. Puoi leggere le espressioni regolari Perl qui.

Ad esempio, il comando seguente cambierà l'estensione di tutti i .css file in .scss :

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

Spieghiamo il comando in modo più dettagliato:

  • s/search_pattern/replacement/ - L'operatore di sostituzione.
  • .css - Il modello di ricerca. È il primo argomento nell'operatore di sostituzione. Il rename comando cercherà questo modello nel nome del file specificato e, se trovato, lo sostituirà con l'argomento sostitutivo.
  • .scss - Il rimpiazzo. Il secondo argomento nell'operatore di sostituzione.
  • *.css - Tutti i file con estensione ".css". Carattere jolly (* ) è un simbolo utilizzato per rappresentare zero, uno o più caratteri.

Prima di eseguire il comando vero e proprio e rinominare i file e le directory è sempre una buona idea usare il -n opzione che eseguirà una "corsa a secco" e ti mostrerà quali file verranno rinominati:

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

L'output sarà simile a questo:

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)

Per impostazione predefinita, il rename comando non sovrascrive i file esistenti. Usa il -f opzione che dice a rename per sovrascrivere i file esistenti:

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

Se vuoi rename per stampare i nomi dei file che sono stati rinominati con successo, usa il -v opzione (dettagliata):

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 Esempi #

Di seguito sono riportati alcuni esempi comuni di come utilizzare il comando rename:

Sostituisci gli spazi nei nomi dei file con i caratteri di sottolineatura #

rename 'y/ /_/' *

Converti i nomi dei file in minuscolo #

rename 'y/A-Z/a-z/' *

Converti i nomi dei file in maiuscolo #

rename 'y/a-z/A-Z/' *

Rimuovi .bak dai nomi dei file #

rename 's/\.bak$//' *.bak

Rinomina .jpeg e .JPG nomi di file in .jpg #

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

Conclusione #

Il rename Il comando consente di rinominare più file contemporaneamente, utilizzando le espressioni regolari Perl.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Come comprimere più file su Linux

  2. Come rinominare più file contemporaneamente in Linux

  3. Comando Linux ls - Elenca file

  4. Comando mcopy in Linux

  5. Trova più file e rinominali in Linux

Comando Rm in Linux

lsof Command in Linux (10 esempi)

Come rinominare uno o più file in Linux

8 metodi per rinominare più file contemporaneamente in Linux

Linux Rinomina estensione file multipli

comando ls in Linux/UNIX