[ubuntu-it] Varie: ntp, modificare nomi file, .3gp

Giaipur giaipur a gmail.com
Gio 24 Nov 2005 10:01:20 GMT


martedì 22 novembre 2005, alle 12:49, An3a ha scritto:

> 2 - c'e' un modo per rinominare in minuscolo dei file con nome ed
> estenzione in maiuscolo? Mi succede ogni volta che mi passano delle
> foto scaricate dalla macchina fotografica ad un pc uindous.

Direttamente dalla Giuda avanzata si scripting Bash:

--8<--cut-here--8<----

#! /bin/bash
#
#  Cambia ogni nome di file della directory di lavoro in lettere minuscole.
#
#  Ispirato da uno script di John Dubois, che è stato tradotto in Bash da Chet
#+ Ramey e semplificato considerevolmente da Mendel Cooper, 
#+ autore del presente libro.
  
  
for file in *                    # Controlla tutti i file della directory.
  do
     fnome=`basename $file`
     n=`echo $fnome | tr A-Z a-z`  #  Cambia il nome del file in tutte
                                   #+ lettere minuscole.
     if [ "$fnome" != "$n" ]       #  Rinomina solo quei file che non
                                   #+ sono già in minuscolo.
    then
        mv $fnome $n
     fi
  done
  
  exit 0
  
  
#  Il codice che si trova oltre questa riga non viene eseguito a causa
#+ del precedente "exit".
 
#---------------------------------------------------------------------#
  # Se volete eseguirlo, cancellate o commentate le righe precedenti.
  
  #  Lo script visto sopra non funziona con nomi di file conteneti spazi
  #+ o ritorni a capo.
  
  # Stephane Chazelas, quindi, suggerisce l'alternativa seguente:
  
  
  for file in *        #  Non è necessario usare basename, perché "*" non
                       #+ restituisce i nomi di file contenenti "/".
  
  do n=`echo "$file/" | tr '[:upper:]' '[:lower:]'`
  
  #                    Notazione POSIX dei set di caratteri.
  #                    È stata aggiunta una barra, in modo che gli
  #                    eventuali ritorni a capo non vengano cancellati
  #                    dalla sostituzione di comando.
  # Sostituzione di variabile:
    n=${n%/}           #  Rimuove le barre, aggiunte precedentemente, dal
                       #+ nome del file.
  
    [[ $file == $n ]] || mv "$file" "$n"
  
                       # Verifica se il nome del file è già in minuscolo.
  
  done
  
  exit 0

--8<--end-here---8<---


Ciao

-- 
Coltivate GNU/Linux, tanto M$-Windows si pianta da solo



More information about the ubuntu-it mailing list