Hromadne nahrazovani velka na mala - jak optimalizovat

Miroslav BENES mbenes na tenez.cz
Úterý Duben 1 13:32:10 CEST 2003


Preji krasny den !


Mam problem - potrebuji zoptimalizovat hromadne nahrazovani 
textu. Jde o zdrojaky, ve kterych se vyskytuji odkazy na jine 
soubory (zxdrojaky nebo spustitelne moduly). V soucasne dobe to 
jede an DOSu a predelavam to do linuxu. 
Krome os-depend volani je jeste problem s nazvy souboru. Na DOSu 
byly case-insensitive, takze se ve zdrojacich vyskytuje napr.:
{K_DEFPAR.I}
{K_DefPar.I}
{K_Defpar.i}
apod. 
Vsechna jmena jsou ted malymi pismeny, ale potrebuju jeste ty 
zdrojaky projit a vsude to opravit. Protoze nevim na ktera jmena 
souboru je nekde odkaz, udelal jsem si seznam vsech souboru a z 
nich jsem vygeneroval nahrazovaci pravidla v teto podobe : 

...
| sed \
....
  -e 's/[kK]\_[dD][eE][fF][pP][aA][Rr]\.[iI]/k\_devpar\.i/g' \
....

Takovych pravidel je cca 14500. Prikazu sed jsem musel pouzit 
vicero, protoze vsechna nahrazeni najednou nebyl ochotny 
spolknout. Problem je, ze nahrazovani trva velice dlouho - na 
malem kousku (55 souboru, cca 150 kiB] to na P4/2GHz na 2.5GHz s 
512MB RAM a rychlymi disky trva skoro 5 minut.


Je nejaka cesta jak to zoptimalizovat ? 
Pripadne je neco vhodnejsiho na prevod na mala pismena ? Neco 
jako "tr [:upper:] [:lower:]", ale aplikovane jen na vybrany 
seznam slov ?



Predem diky za tipy.



--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux