4 d’abril de 2012

Reanomenant fitxers en un arbre de directoris des del terminal

Fa uns dies us comentava com reanomenar fotos usant dades EXIF. De vegades, però, ens trobem que hem de fer un petit canvi de nom en molts fitxers diferents en tot un arbre de directoris.

M'hi he trobat en adonar-me que una de les càmeres s'havia quedat sense la bateria interna que manté el rellotge i tinc tot un conjunt de carpetes amb fotos anomenades "2036-*". Evidentment, puc utilitzar pyRenamer, però aquest cop he volgut provar de fer-ho des del terminal, amb find.

En primer lloc, i abans d'executar la comanda real, m'agrada veure exactament quins fitxers es veuran afectats. Així m'asseguro que no hi haurà efectes no desitjats. En aquest cas, vaig a l'arrel de la carpeta de fotos i teclejo:
$ find . -name '2036-*' -print | more
La llista és correcte, pel que ja puc fer el canvi de nom real:
$ find . -name '2036-*' -exec rename 's/2036-/2012-/i' {} +
Fixeu-vos com ara executo una comanda de canvi de nom, substituint el '2036-' per '2012-' per cada fitxer localitzat amb el find. Les cometes simples en la comanda serveixen per evitar l'expansió de l'asterisc per part de la shell.

En fi, aquí ho deixo anotat, per recordar-ho més endavant. De vegades, no hi ha res més eficient que la línia de comandes, no trobeu?

Cap comentari:

Publica un comentari a l'entrada