En/na Benjamí Villoslada ha escrit:
El Dimarts 28 Juny 2005 18:31, Albert Que va escriure:

Ho puc fer amb windows sense instal·lar cap programa? si no és el cas,
quin programa  lliure va bé per fer-ho? Com ho podria fer amb linux sinó?


Amb un scriptillo en Bash, of course :)

Primer explico les passes a mà. Al final, es posen totes en un arxiu que es guarda i se li dona permisos d'execució, i tal dia farà un any: tens el programa per usar-lo quan vulguis.

Resumint i anant de cara a barraca:

1. entenc què fa cada línia de l'escript

2. ho poso tot (copy+past) en un arxiu que es digui reanomena.no-sé-què
(aquí ja comença a fallar la cosa, bé, el que falla no és la cosa, sinó jo).

3. l'arxiu aquest on l'he de guardar? a la mateixa carpeta on hi ha les fotos? com li dic sinó on ha d'anar a buscar les fotos? suposo que si on diu "for FOTO in *.{jpg,JPG} ; do" li puc posar el path que sigui, o no funciona així?

4. com executo el programa?

Per acabar d'arrodonir la feina, com li puc dir que em renumeri les fotos amb números correlatius? ara la numeració és una mica caòtica perquè he esborrat fotos intermitges i a més n'hi ha de 3 targetes diferents, m'interessa que les numeri correlativament seguint l'ordre cronològic. M'imagino que caldria dir-li que anés sumant 1 al valor inicial 001 i que ho afegís al final del nom enlloc del "${FOTO:4}"

Faré les proves amb una còpia de les fotos, no fos cas...
(No hi ha un programa gràfic clic-clic-clic-aceptar que ho faci això?)


Albert Que


#!/bin/sh
(es crida el bash per executar-lo)
for FOTO in *.{jpg,JPG} ; do
("per cada arxiu que es digui jpg o JPG em carregues el nom dins FOTO i fas tot el que hi ha devall fins done")
     DATA=`jhead $FOTO | grep -i date/time | awk '{print $3 }'`
(l'ordre explicada en els passos 1 a 3 que es carrega dins la variable DATA)
     DATA=${DATA:0:4}${DATA:5:2}${DATA:8:2}
     (llevo els : a la data)
     FOTOV=$FOTO
(guardo el nom original de l'arxiu abans de tocar-lo, ens farà falta per l'ordre de renomenamenta)
     FOTO=${FOTO/"-"$DATA/}
(precaució: si el nom de l'arxiu ja té un guio i la data, el llevo o s'aniria allargant cada cop que s'executés l'escript!)
     NOMNOU=${FOTO:0:3}"-"$DATA"_"${FOTO:4}
(composició del nom nou: les primeres tres lletres de l'original (IMG), un guió, la data, i des de la lletra 4 de l'original fins al final))
     printf " Arxiu: %s\tData: %s\tNom nou: %s\n" $FOTOV $DATA $NOMNOU
     (ho escric en pantalla, per anar dient coses del que faig, proves)
     # mv $FOTOV $NOMNOU
(fa la renomenamenta, però no perquè la línia està comentada. Així es pot provar com queden els noms abans d'executar-lo. Perquè renomeni, cal llevar el #)
done
(tanca el bucle for)
_______________________________________________
llista de correu de l'Internauta
Internauta@internauta.net
http://zeus.internauta.net/mailman/listinfo/internauta

Respondre per correu electrònic a