Canviar la mateixa paraula (o frase) per una altre dins una bona quantitat d’arxius, pot ser una feinada. Caldria obrir-los tots i usar l’eina de reemplaçar que portés l’editor de torn. Hi deu haver –ara mateix no se quin– qualque editor amb el concepte «projecte» que permeti fer els canvis a tots els arxius que formen el projecte.
Si uses el sistema operatiu GNU amb Linux, basta que tenguis el comandament find i el llenguatge Perl instal·lats. Una combinació de les dues coses servirà per a fer un canvi global de text. A l’exemple canviem l’adreça de correu josep@nose.com per josep.cansat@de-spam.nose.com
find ./ -type f -name '*.html' -exec perl -pi -e 's/josep\@nose.com/josep.cansat\@de-spam.nose.com/;' {} \;
Cercarà dins els arxius que diguis a través del comandament find
: en aquest cas, tots els regulars (-type f
) que tenen el nom acabat en .html (-name '*.html'
) i que estan a partir del directori on ens trobam (./
). Find
només troba arxius pel seu nom, no en fa els canvis. El passa –el nom– al comandament que ve darrere -exec
, el perl
en aquest cas, mitjançant els claudators ({}
) i tanca l’ordre amb «;
».
L’ordre principal pel perl
és 's/text a llevar/text a posar/;'
. A l’exemple, cal dir que les ensaïmades (@
) són part del text o perl
les ignorarà. S’aconsegueix amb una barra invertida (\) i a l’acció se li sol dir «escapar», en aquest cas cal «escapar les ensaïmades» 🙂
Si l’arxiu conté més d’un pic la paraula a canviar, l’ordre Perl les tindrà totes en compte.
Per a més detalls:
El comandament find és immens. Trobaràs més informació a les planes de manual que pots cridar amb el comandament man find
o llegint aquest article d’about.com. Si tens un calendari lunar a mà, find
té opcions abastament com per canviar només els arxius que hagis creat (que no modificat) en lluna plena.
Perl és un llenguatge de programació també carregat de possibilitats i si en vols aprendre més, el millor és un bon llibre. A ca’n O’Reilly en trobaràs. En línia hi ha un grapat de llocs, com perl.com (també d’O’reilly), Perl Mongers o Perldoc.com.
2 comentaris. Leave new
[…] s programes, per petits i trivials que siguin. No fa gaire explicava a aquest mateix bloc l’ordre que pot estar darrere qualsevol finestra gràfica que canvia el text d’un document [...]
[…] Vist a bitassa. […]