Pular para o conteúdo

Remover linhas específicas de arquivo

Responder tópico
  • Denunciar
  • Indicar

1. Remover linhas específicas de arquivo

Enviado em 04/07/2011 - 17:41h

Pessoal,

Eu tenho um arquivo texto que contém diversos registros de uma base de dados.

Esse arquivo texto contém um header e um trailer, que por sua vez possuem o campo identificador do registro (01 e 03 respectivamente.

Eu estou precisando verificar esse arquivo texto e remover as linhas que comecem com 01 e com 03, mantendo somente os registros que comecem com 02.

Alguém poderia me ajudar?

Desde já obrigado!

Responder tópico

3. Re: Remover linhas específicas de arquivo

Enviado em 04/07/2011 - 18:07h

Se é somente isso que você quer, dá pra fazer como o amigo acima citou:






$ cat arquivo.txt
01
02
03
$ sed '/^0[13]/ d' arquivo.txt
02

Para salvar isso diretamente no arquivo, use a opção -i do sed.

4. Puts...

Enviado em 05/07/2011 - 08:35h

Posta um exemplo desse bendito arquivo!

5. Re: Remover linhas específicas de arquivo

Enviado em 05/07/2011 - 09:49h

Ex. do Arquivo - CARGA.TXT
-------------------------
01|20110701
02|08| |8613800770504
02|08| |8613800100500
02|08| |8613800100500
02|08| |8613800200500
03|58

----

Eu preciso que ele remova as linhas que comecem com 01 e 03 e fique somente:

02|08| |8613800770504
02|08| |8613800100500
02|08| |8613800100500
02|08| |8613800200500


A parte de sed eu acho que entendi, mas preciso saber como verificar somente se os dois primeiros dígitos de cada linha é diferente ded 02 para poder limpar a linha toda.

Abs!

6. Re: Remover linhas específicas de arquivo

Enviado em 05/07/2011 - 12:25h

Olha que interessante:






---------------------------------------------
$ cat teste.txt
01|20110701
02|08| |8613800770504
02|08| |8613800100500
02|08| |8613800100500
02|08| |8613800200500
03|58
$ sed '/^0[13]/ d' teste.txt
02|08| |8613800770504
02|08| |8613800100500
02|08| |8613800100500
02|08| |8613800200500
--------------------------------------------

Eu já havia te dito como...

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder