Rinominare gruppi di file in Linux

31/07/2006

Il comando mv da Shell in Linux ci permette di rinominare o spostare un file indicando semplicemente al comando il nome del documento da manipolare come parametro.

Perciò, se per esempio all'interno della cartella /tmp avessimo un file chiamato 'doc.txt' e lo volessimo rinominare in 'doc.doc' il nostro comando dovrà essere il seguente:

mv /temp/doc.txt /temp/doc.doc
Ora, per quanto comodo mv non consente di rinominare simultaneamente gruppi di file se non attraverso complicate istruzioni da riga di comando. Ad esempio:
# for j in *.txt; do mv $j $(basename $j .txt).doc; done 
Oppure tramite l'utilizzo di script da Shell sempre basati su cicli di iterazione. Ad esempio:
for file in *.txt; do
mv $file ${file%.txt}.doc
done
Fortunatamente Linux ci mette a disposizione un comando, mmv (multiple move), che permette di rinominare simultaneamente gruppi di file. Ad esempio, la seguente istruzione:
# mmv '*.txt' '#1.doc'
permette di rinominare tutti i file con estensione '.txt' in '.doc'.

In pratica mmv consente di rinominare, spostare o copiare più documenti raggruppandoli grazie all'utilizzo del caratter jolly '*' sulla base di un elemento comune (ad esempio l'estensione).

mmv è inoltre un comando consigliabile anche per motivi di sicurezza, infatti non causa la cancellazione involontaria di file in caso di documenti che abbiano lo stesso nome e lo stesso percorso; inoltre, l'azione del comando non è influenzata dalla presenza di spazi nei nomi dei file.Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.
 
Stampa :: Torna alla Home