[Rio-pm] Performance de regex

Marcos Machado listas em istf.com.br
Quarta Março 17 12:10:43 PDT 2010


Queridos,

Precisei fazer uma alteração em um arquivo texto (bem grande)
excluindo todas as linhas começando com "string1" ou contendo
"string2".

Meu primeiro chute foi:

<code>
cat OLD.log | perl -nle 'print if !/^string1|string2/;' > NEW.log
</code>

Levou 7 minutos. Depois testei com:

<code>
cat OLD.log | perl -nle 'print if !/^string1/ && !/string2/;' > NEW.log
</code>

O mesmo arquivo resultou, mas em apenas 30 segundos!

Esse OU dentro da regex é mesmo muito mais lento ou fiz besteira?

[]s, MM


Mais detalhes sobre a lista de discussão Rio-pm