Rinomina massiva file

Rinomina massiva file in Linux

Rinomina massiva fileIn molte distribuzioni Linux è possibile fare una rinomina massiva file (ovvero rinominare molti file contemporaneamente) tramite il comando rename.

In realtà rename non è un comando di sistema, ma un programma scritto in Perl presente di default in molte distribuzioni Linux

La sua sintassi è semplicissima:

rename [-v] [-n] [-f] perlexpr [filenames]

dove

  • v,n,f: opzioni:
    • v: verbose, ovvero stampa nel terminale qualunque file elaborato ed il relativo risultato
    • n: no act, ovvero simula il comando senza effettivamente eseguire la rinomina. Utilissimo e consigliatissimo per provare il comando prima di eseguirlo in effettivo
    • f: force, ovvero forza la sovrascrittura di eventuali file già presenti con lo stesso nome risultante dalla rinomina dei files elaborati
  • perlexpr: espressione regolare indicante le istruzioni relative a cosa sostituire e con cosa
  • filenames: indica quali file elaborare

Per capire meglio, vediamo alcuni esempi di rinomina massiva file

Esempio 1:

rename -v 's/.sh/.sh.bak/g' *.sh

in questo modo rinomino l'estensione di tutti i file .sh con .sh.bak

il significato delle varie parti dell'espressione regolare s/.sh/.sh.bak/g è il seguente:

  • s = sostituisci
  • .sh = stringa da cercare per la sostituzione.
  • .sh.bak = nuova stringa che verrà messa al suo posto.
  • g = globale, ovvero esegue la sostituzione per tutte le occorrenze della stringa (se non metto "g" fa solo la prima occorrenza)

Esempio 2:

rename -nv 's/Immagine/Oropa - /' Immagine*.*

in questo modo rinomino tutti i file che iniziano con "Immagine" sostituendo il testo "Immagine" con "Oropa - "

ATTENZIONE: avendo usato l'opzione -n simulo solamente il risultato senza eseguire effettivamente la rinomina

Eseguendo nuovamente lo stesso comando eliminando l'opzione -n il risultato sarà simile al seguente:

Immagine01.png renamed as Oropa - 01.png
Immagine02.png renamed as Oropa - 02.png
Immagine03.png renamed as Oropa - 03.png
Immagine04.png renamed as Oropa - 04.png
Immagine05.png renamed as Oropa - 05.png
Immagine06.png renamed as Oropa - 06.png
Immagine07.png renamed as Oropa - 07.png
Immagine08.png renamed as Oropa - 08.png
Immagine09.png renamed as Oropa - 09.png
Immagine10.png renamed as Oropa - 10.png
Immagine11.png renamed as Oropa - 11.png
Immagine12.png renamed as Oropa - 12.png

Esempio 3:

rename -v 's/Film - //' Film\ -\ *.*

in questo modo rinomino i file che iniziano con "Film - " eliminando il testo "Film - " perchè lo sostituisco con niente (//)

Esempio 4:

rename -v 's/.avi/ (Woody Allen).avi/' Woody*.*

in questo modo rinomino tutti i file che iniziano con "Woody" sostituendo l'estensione ".avi" con " (Woody Allen).avi"

Convertire MAIUSCOLE in minuscole e viceversa

Tramite il comando rename è anche possibile convertire i nomi file in lettere minuscole o MAIUSCOLE.

Ad esempio:

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

in questo modo converto in minuscolo tutti i nomi di file che iniziano con BLOG

 

(Letto 3.083 volte di cui 1 negli ultimi 30gg)
twitterlinkedinmailby feather

2 thoughts on “Rinomina massiva file in Linux

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *