Filtrando Informações Em Um Documento [RESOLVIDO]

1. Filtrando Informações Em Um Documento [RESOLVIDO]

Flávio José
Melfice

(usa Ubuntu)

Enviado em 29/05/2009 - 23:55h

Estou com um probleminha aqui, um documento grande com 20MB de texto com muitas informações de membros da empresa aqui, vários dados mas a única coisa que me interessa é os CPFs, eu nem sei se isso é possível, mas antes de sair editando na mão custa nada perguntar. Existe algum jeito de filtrar as informações do Documento? Por exemplo, pedir para que ele salve, selecione ou qualquer coisa parecida só os números do CPF, no caso são os únicos que estão assim: #########-##, onde # é um numero qualquer. Ja me sugeriram o comando "#cut -d: -f2 text.txt | tr -d [a-zA-Z=]" mas no documento também tem outros números além do CPF, mas eu garanto que só os CPFs tem a sequencia #########-## no caso o "9 + - + 2". Alguma idéia?

Abraços!!!


  


2. Re: Filtrando Informações Em Um Documento [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 04/06/2009 - 21:26h

Existem outros campos com hífen?


3. awk

Leonardo Berbert Gomes
leoberbert

(usa Debian)

Enviado em 10/06/2009 - 12:29h

Amigo.. Com o awk vc pode pegar facilmente estes campos... Poderia colocar aqui um ex do teu arquivo para que eu possa lhe ajudar?

Aguardando....


4. Com o SED

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 26/06/2009 - 00:07h

Se a estrutura do CPF for unica (9 numeros + - + 2 numeros) no arquivo e se tem somente um CPF por linha, então o seguinte comando sed deve funcionar:

$ sed 's@.*\([[:digit:]]\{9\}-[[:digit:]]\{2\}\).*@\1@' seu_arquivo.txt



5. Re: Filtrando Informações Em Um Documento [RESOLVIDO]

Flávio José
Melfice

(usa Ubuntu)

Enviado em 09/08/2009 - 17:46h

Valew Daemonio e a todos que tentaram me ajudar, resolvi aqui.

Agora tem outro, só com certeza é mais fácil pra vocês, eis o problema: tem um documento do banco aqui comigo,, ele é ENORME .txt com 70MB, um exemplo de uma linha qualquer:

2000000322010920000565RANGA BLOOD EDGELHAES 1211203152019531125QE 34 CONJ. YX CASA XX LIBRARY II BRASILIA 71065132DF7 300350000001599633287319000107

Bem, o Forum aqui elimina os espaços extras, mas depois da matricula e do nome os numeros que vem a seguir é o que eu preciso, até chegar nos numeros sempre são 81 espaços, SEMPRE, eu preciso do numero que vai do 82 até o 92, no caso o CPF da pessoa, provavelmente extrairam os dados de forma porca de algum banco de dados qualquer, tentei aqui no Excel, mas não da certo pq ele divide por espaço e o os nomes tem tamanho diferentes por isso os numeros acabam ficando em colunas diferentes, desde ja agradeço qualquer ideia.

Abraços!!!


6. Re: Filtrando Informações Em Um Documento [RESOLVIDO]

Flávio José
Melfice

(usa Ubuntu)

Enviado em 11/08/2009 - 20:46h

Consegui fazer o que queria com o comando: "cut -c 82-92 nome-do-arquivo-de-entrada > nome-do-arquivo-de-saida"

Abraços!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts