dicas_unix_e_etc
Essa é uma revisão anterior do documento!
Expressões Regulares
Uma ótima referência on-line sobre o assunto: http://guia-er.sf.net
Expressão regular para colocar ponto de milhar em números até trilhões
$ (echo 1234567890123; echo 1234) | sed -e 's/\([0-9]\{1,3\}\)\([0-9]\{3\}\)$/\1.\2/' \ -e 's/\([0-9]\{1,3\}\)\([0-9]\{3\}\.[0-9]\{3\}\)$/\1.\2/' \ -e 's/\([0-9]\{1,3\}\)\([0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\)$/\1.\2/' \ -e 's/\([0-9]\{1,3\}\)\([0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\)$/\1.\2/' 1.234.567.890.123 1.234
Notem que essa é a sintaxe para uso com o sed. Em várias outras ferramentas, como perl por exemplo, a sintaxe muda um pouco. No perl não seria necessário usar a barra de escape nos parêntesis e chaves. Notem ainda que não se trata de apenas uma expressão, é a aplicação seqüencial de 4 expressões regulares que dá o resultado esperado. Talvez dê para reduzir isso, mas não parei pra pensar por falta de tempo e por que essa já resolveu meu problema.
dicas_unix_e_etc.1214573973.txt.gz · Última modificação: 2008/06/27 13:39 por cartola