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

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



Il Fri, 31 Dec 2004 13:00:19 +0100, CDF ['NOSPAM' -> 'imeil'] ha scritto:

> On Thu, 30 Dec 2004, Roberto Zanandrea wrote:
> 
>>> 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"
> 
> ma quindi non conviene spostare il convert all'interno dell'altro ciclo 
> for (spostando anche l'incremento del contatore) con parametri:
> 
> convert [...] -quality 75  "$nome.jpg" "$dir/IMG_$contatore.$est"
> 
>> Preferisco lavorare su delle copie ecco perchè ho creato una directory in
>> /tmp/.
> 
> ma con il cp che fai tu crei diverse copie dello stesso file nella 
> directory corrente, una per ogni esecuzione dello script...
> 
>> Molte grazie e auguri per un felice anno nuovo.
> 
> Altrettanto!!!!
> 
> Buon anno nuovo a tutta la lista!!!
> 
> bye
> CDF


#!/bin/bash
contatore=1000
# est=jpg
# data=$(date)
dir=/tmp/foto
files="file.txt"

rm $dir -fR
mkdir $dir

(
IFS=$(echo -e "\n\t\t");

for riga in `cat $files`;
do

 img=`echo $riga | cut -f1 -d " "`
 nome=`echo $riga | cut -f2 -d " "`
 dimensione=`echo $riga | cut -f3 -d " "`
 descrizione=`echo $riga | cut -f4 -d " "`
 prezzo=`echo $riga | cut -f5 -d " "`

 convert -border 90x90 -bordercolor white -gravity South -font Helvetica -pointsize 60 -fill '#ff0000' -draw 'text 10,100 "'$descrizione' - '$dimensione' - '$prezzo' | %[EXIF:DateTime]"' -gravity North -draw 'text 10,100 "'$nome'"' -quality 75 "$img" "$dir/$img"

done

)


Questo è lo script funzionante.
Non ti spiego il perchè facevo una copia.
Il problema era, "in quanto risolto aggiungendo una variabile img", che il
nome nel file.txt (es. 130CR01.000) non era il nome del file
(es. 130CR01.jpg) o cose del genere. 
Grazie.



Reply to: