[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash rinominare file utilizzando dei dati scritti in un file



Il Thu, 30 Dec 2004 12:30:23 +0100, CDF ['NOSPAM' -> 'imeil'] ha scritto:

> On Wed, 29 Dec 2004, Roberto Zanandrea wrote:
> 
>> Ciao,
>> dovrei rinominare una serie di foto utilizzando i dati contenuti in un
>> file di testo.
>> Ho iniziato ma ho qualche difficoltà.
> 
> che casino!!! :)
> 
>> #!/bin/bash
>> contatore=1000
>> est=jpg
>> data=`date`
> 
> abituati a usare la sintassi $(comando) al posto di `comando`... se in 
> un futuro farai script molto piu' complessi mi ringrazierai :)
> 
>> dir=/tmp/foto
>> files="dati.txt"
>>
>> rm /tmp/foto/ -R
> qua metterei anche l'opzione -f, eviti un messaggio di errore in meno.
> inoltre, visto che hai definito la variabile "dir", dovresti usarla
> 
>> mkdir /tmp/foto/
> anche qui: mkdir $dir
> 
>>
>> (IFS='
>> ';
> io di solito uso:   IFS=$(echo -e "\n\t\t")
> perché le altre combinazioni mi hanno dato fastidi... non ho mai capito 
> perché :)
> 
>>
>> for riga in `cat $files`;
>> do
>>
>> nome=`echo $riga | cut -f1 -d " "`
>> dimensione=`echo $riga | cut -f2 -d " "`
>> descrizione=`echo $riga | cut -f3 -d " "`
>> prezzo=`echo $riga | cut -f4 -d " "`
>>
>> echo "nome: $nome"
>> echo "dimensione: $dimensione"
>> echo "descrizione: $descrizione"
>>
>> done
>>
>> )
> 
> ma questa parte a che serve?????? stampa soltanto il file formattato 
> sullo standard output
> 
Ho fatto delle prove quindi avevo la necessità di stampare.
> 
> 
> 
>> for i in *
>> do
>> contatore=$[1+$contatore]
>> cp "$i" "IMG_$contatore"
> questa non serve...
> 
>> convert -border 90x90 -bordercolor white -gravity SouthEast -font 
>> Helvetica -pointsize 80 -fill '#ff0000' -draw 'text 10,100 "%f | 
>> %[EXIF:DateTime]"' -quality 75 "IMG_$contatore" 
>> "$dir/IMG_$contatore.$est"
> ... infatti basta questa dove al posto di "IMG_$contatore" metti "$i"
> 
> 
> non ho provato lo script ma credo che qualcosa faccia...
> 
> non ho capito bene cosa vuoi che l'algoritmo faccia (parli di una 
> rinominazione ma poi fai una conversione), se magari ci scrivi qualche 
> esempio ti possiamo aiutare di piu'.
> 
Il file "files" che devo aprire contiene appunto i dati che devo scrivere
sulle foto. Praticamente ogni riga corrisponde ad una deternimata foto.
Foto prova1.jpg e nel files nella prima riga sul primo campo appunto
troviamo prova1 (senza .jpg).Questi dati alla fine li devo passare al
convert.

 convert -border 90x90 -bordercolor white -gravity SouthEast -font
 Helvetica -pointsize 80 -fill '#ff0000' -draw 'text 10,100 "$nome -
 $dimensioni - $descrizione - $prezzo | %[EXIF:DateTime]"' -quality 75
 "IMG_$contatore" "$dir/IMG_$contatore.$est"

Preferisco lavorare su delle copie ecco perchè ho creato una directory in
/tmp/.

Spero di essere stato un pò più chiaro.
Molte grazie e auguri per un felice anno nuovo.

> bye
> CDF



Reply to: