Ola,

teño un problema co uso de sed e as expresións regulares. Unha vez ben postas 
ditas expresións (co que quero dicir que funcionan executándoas manualmente 
con sed), a segunda non funciona meténdoa nun pequeno programa en intérprete 
de comandos. As ordes,que funcionan ben, son:

sed -i 's/foo/bar/g' ficheiro.po

sed -e 's/\(^msgstr.*\) \(.*\)\(${replace[$a]}\)\(.*\)/\1 
\2${replace[$a+1]}\4/' ficheiro.po

A primeira substitúe a secas ao "foo" que atope por "bar" tanto nos msgid como 
nos msgstr (como son palabras en galego, non vai nunca actuar sobre os 
msgid).

A segunda serve para substituir lexemas, morfemas ou só partes das palabras 
dentro dos msgstr dun ficheiro po.

Logo de comprobar que ambas funcionan correctamente, as meto nun ficheiro 
shell deste xeito (ao ficheiro chámoo "remprazar") :

#!/bin/sh
counter=0;for f in `cat directas.rules`;do 
replace[counter]=$f;counter=$counter+1;done;counter2=0;
for ((a=0; a <= $counter-1; a=a+2)); do 
`sed -i "s/${replace[$a]}/${replace[$a+1]}/g" *.po` ;done;
counter=0;for f in `cat complexas.rules`;do 
replace[counter]=$f;counter=$counter+1;done;counter2=0;
for ((a=0; a <= $counter-1; a=a+2)); do `sed -e 's/\(^msgstr.*\) 
\(.*\)\(${replace[$a]}\)\(.*\)/\1 \2${replace[$a+1]}\4/' *.po` ;done;

Collen de dous ficheiros auxilaries en formato de lista (directas.rules e 
complexas.rules) con cousas así:

palabra1 substitución1
palabra2 substitución2


e fan as substitucións, sobre os *.po, que neles se indiquen. A primeira orde 
segue funcionando, pero a segunda dáme problemas coa sintaxe, pois creo que 
tantas comas acaban liando a cousa. Dáme o erro

remprazar: line 5: msgstr: command not found

Algún informático experto pode dar algunha axudiña para colocar ben a cousa no 
ficheiro? Agradécese, porque logo publico os directas.rules e complexas.rules 
para que cada quen faga uso deles ou os modifique a gusto cos seus erros de 
tradución máis comúns. Xa teño metida a nova normativa oficial (do 2003) en 
100 instruccións aproximadamente (para llela pasar ás traducións anteriores). 
Logo tamén se podería facer un ficheiro para pasar dunha normativa a outra.

A ver se alguén se anima a facer un castelanismo.rules, anglicismos.rules ou 
cousas así para meter xunto co ficheiro directas.rules ;).

_______________________________________________
Trasno mailing list
tra...@ceu.fi.udc.es
http://ceu.fi.udc.es/cgi-bin/mailman/listinfo/trasno

Responderlle a