[Ubuntu-BR] localizar padrão específico em um texto
Wagner De Queiroz
wagnerdequeiroz em gmail.com
Terça Outubro 4 12:49:18 UTC 2016
eu tenho duas sugestões:
1. Isso tem cheiro de um arquivo CSV que pode ser aberto pelo libreoffice.
Importe o arquivo lá, dizendo para separar com virgula e texto entre aspas
simples. Como todos os campos estão entre aspas simples, vc terá sempre nas
mesmas colunas os números com vírgula que devem ser importados como texto
(o que é bom) Selecione uma coluna de cada vez, copie o texto e abra no
gedit e troque virgula por ponto e cole de volta no libreoffice. salve o
csv e seja feliz.
a Segunda opção é voce criar um script python e fazer a substituicao linha
a linha, o python tem libs para csv. eu sei que é possível, mas eu levaria
um bom tempo para fazer isso pois não sou bom de python.
A terceira opção é usar o sed.
http://aurelio.net/sed/sed-dicas.txt
Veja o exemplo abaixo:
# pegando apenas cadeias que estão dentro de parênteses
echo 'windows (linux)(Linux), mac (unix) os/2' |
sed -n 's/[^(]*\(([^)]*)\)[^(]*/\1/gp'
resultado:
(linux)(Linux)(unix)
Pode notar que
se pode adaptar para pegar as cadeias dentro as aspas simples e depois
disso vc pode usar o s para substituir dentro as aspas a virgula pelo
ponto. Não sou bom de sed para opinar melhor, mas acho que uma destas três
soluções deverá resolver seu problema.
Em 4 de outubro de 2016 09:29, Antonio Silva <aolinto.lst em gmail.com>
escreveu:
> Caros
>
> Texto um arquivo texto enorme que foi gerado com um problema de pontos e
> vírgulas.
>
> Onde deveriam ser pontos decimais existem vírgulas decimais. O formato da
> linha (são milhares) é assim :
>
> ('12457','-48,2365','-23,3256','ASD')
>
> -48,2365 e -23,3256 deveriam ter pontos.
>
> Utilizando o gedit ou o Write eu consigo localizar os números a serem
> modificados com "-..,...." mas não consegui entender como fazer para
> subsutituir apenas a vírgula que está no conjunto localizado por ponto.
>
> Agradeço muito qualquer orientação.
>
> Abraços
>
> Antônio Olinto
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
--
Wagner de Queiroz
Be free with Linux
Mais detalhes sobre a lista de discussão ubuntu-br