Pàgines

dimarts, 6 d’agost del 2013

Reanomenar fotos amb GNU/Linux

L'altre dia un usuari de Windows em va demanar ajuda per a reanomenar unes fotos que tenia al seu ordinador. Es tracta de milers de fotos d'un viatge que té en carpetes per dies, i s'havia entretingut a reanomenar-ne més de 4.000 una per una, afegint un número seqüencial al davant del nom de cada fitxer, de forma que quedessin ordenades per data de captura (tot i que l'explorador de windows ja és capaç de llegir les dades EXIF i per tant d'ordenar per data i hora de captura)

La qüestió és que no vaig fer el que havia d'haver fet i em vaig posar a buscar alguna eina per a automatitzar aquesta feinada. Al final més o menys me'n vaig sortir amb un parell de programes, perquè el que permetia reanomenar afegint un número seqüencial parametritzable no sabia llegir les dades EXIF... i al cap d'uns dies la llicència d'un dels 2 programes, que era shareware, havia caducat.

Llavors li vaig dir al sofert usuari que buscaria una solució amb Linux, que segurament seria més senzill. La veritat és que em va costar més del que em pensava -en part, perquè no en tinc ni idea de Perl ni d'awk, que segur que m'haurien permès de construir-me una solució a mida-. El primer que vaig trobar va ser jhead, una petita joia dins d'una altra joia que tots els usuaris de GNU/Linux haurien de conèixer: http://www.commandlinefu.com

Amb jhead es poden fer força coses interessants; algunes de les que no surten amb

~$ man jhead

ni amb

~$ jhead -h

estan explicades aquí. Per exemple:

~$ jhead -v -exonly -n%Y-%m-%d_%H-%M-%S-%f *

reanomena els fitxers d'un directori amb dades EXIF afegint la data i hora de captura al davant del nom original del fitxer (també substitueix les extensions .JPG -nefasta moda, trobo- per .jpg). Ja gairebé ho tenia, perquè el programa també permet afegir un número seqüencial al nom del fitxer... però no -que jo sàpiga- especificar quin ha de ser el primer número de la sèrie (requisit imprescindible en aquest cas)

Llavors va ser quan vaig demanar ajuda als fòrums de Linux Mint, on de seguida em van recomanar amablement Pyrenamer, una potent eina que, ara sí, em solucionava l'últim escull: afegir un número seqüencial a cada fitxer del directori però especificant el número inicial.



Doncs ja ho sabeu, si voleu fer una cosa tan especial com aquesta, aquí hi ha la solució. Si el que voleu no és tan complicat -potser organitzar automàticament les fotos en carpetes per data- potser amb un simple script com aquest ja fareu la feina; com sempre amb GNU/Linux, cada situació té solucions per a tots els gustos. Una petita mostra de tot l'univers de possibilitats a l'hora de reanomenar fotos pot ser, per exemple, aquesta: http://hexample.com/2012/02/09/batch-file-renaming-linux-commandline-bash 

Voleu compartir la vostra solució?