Modificar fàcilment noms de múltiples fitxers

A vegades cal modificar de manera massiva el nom d'una munió de fitxers, o per que tenen algun caràcter molest per a gravar-los en cd, o símplement per a escurçar-lo o posar-lo correcte.

A banda d'eines gràfiques (com el Bulk Rename del Thunar, el gestor de fitxers de l'XFCE) les eines d'intèrpret d'ordres tenen, com no, una capacitat brutal per a aquesta mena de tasques. Una d'elles és (feta en Perl) rename. La podem trobar, crec, a qualsevol sistema Gnu/Linux-Unix.

rename té una operativa senzilla, però l'ordre pot complicar-se depenent de quina expressió regular ens calgui per a cercar la cadena que volem substituïr.

Suposem que tenim un directori plens de fitxers amb el següent nom:

papapep@awacs:/media/disk/BD1a25$ ls
Bola.de.drac.001.Bulma.i.Son.Goku.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.002.La.primera.part.del.viatge.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.003.Els.nuvols.del.Follet.Tortuga.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.004.Oolong.el.segrestador.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.005.El.temible.i.solitari.Yamsha.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.006.Compte.amb.les.boles.de.drac.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.007.Oksatan,.el.monstre.del.Mont.Fripant.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.008.L'efecte.Kamehame.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.009.La.banda.del.conill.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi
Bola.de.drac.010.Han.robat.les.boles.de.drac.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi

Com veieu, tots ells tenen la cadena DVDRip.Cat.Xvid.MP3.by.[RoA]Team al nom. Aquest cas és molt senzill, cal fer:

rename -n 's/DVDRip.Cat.Xvid.MP3.by.\[RoA\]Team.//' *.avi

De fet, al ser els únics fitxers que hi ha dins el directori, no caldria posar l'extensió dels fitxers. Posant un asterisc (*) ja seria suficient.

Fixeu-vos en les contra-barres (\) davant els claudators ([]). Són imprescindibles per a que la ordre funcioni. Li diem que són caràcters especials.
Fixeu-vos, també, en l'opció -n (–no-act, o sigui, no fer res), que permet fer proves abans de fer la modificació. No oblideu mai el sentit comú al calaix de la tauleta de nit, i feu còpia de seguretat dels fitxers que voleu tocar abans de fer res. Després tot són plors…
Això és el que es veu en executar amb l'opció -n (retallo el text per economia d'espai):

papapep@awacs:/media/disk/BD1a25$ rename -n 's/DVDRip.Cat.Xvid.MP3.by.\[RoA\]Team.//' *.avi
Bola.de.drac.001.Bulma.i.Son.Goku.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi renamed as Bola.de.drac.001.Bulma.i.Son.Goku.avi

Un cop vegeu que fà el que espereu, canvieu l'opció -n per -v (verbose, fa que mostri els fitxers que s'han modificat), i feu la feina de debó:

papapep@awacs:/media/disk/BD1a25$ rename -v 's/DVDRip.Cat.Xvid.MP3.by.\[RoA\]Team.//' *.avi
Bola.de.drac.001.Bulma.i.Son.Goku.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi renamed as Bola.de.drac.001.Bulma.i.Son.Goku.avi
Bola.de.drac.002.La.primera.part.del.viatge.DVDRip.Cat.Xvid.MP3.by.[RoA]Team.avi renamed as Bola.de.drac.002.La.primera.part.del.viatge.avi

I ja està.

I alguns pensareu: i per què cony tanta parafernàlia si tenim el Bulk Rename que ho fa en entorn gràfic i més simple?
Doncs jo us diria que:

1) no sempre es pot treballar en entorn gràfic. Es pot estar en remot, sense accés SSH amb X forwarding. ni VNC, ni res semblant.

2) potser l'ordinador, probablement un servidor, no té l'entorn gràfic instal·lat. O si el té, no arrenca per algun problema.

3) i el que arribem a aprendre amb aquestes coses??? 🙂

Be Sociable, Share!
Aquesta entrada va ser publicada en General. Guardar l'enllaç permanent. Afegeix un comentari o deixa un trackback: URL del Trackback.

Publicar un comentari

El teu email mai serà publicat ni compartit. Els camps obligatoris estan marcats amb un *

Pots utilitzar aquestes etiquetes i atributs HTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*