Remover linhas específicas de arquivo

1. Remover linhas específicas de arquivo

Lucas Rezende
lucasgrohl

(usa Ubuntu)

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!


  


2. Re: Remover linhas específicas de arquivo

Eriton Almeida
eritonalmeida

(usa Debian)

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

faz com sed
http://aurelio.net/sed/sed-HOWTO/sed-HOWTO-7.html


3. Re: Remover linhas específicas de arquivo

Elder Marco
eldermarco

(usa Fedora)

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...

Osama Jr.
/bin/laden

(usa Void Linux)

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

Posta um exemplo desse bendito arquivo!


5. Re: Remover linhas específicas de arquivo

Lucas Rezende
lucasgrohl

(usa Ubuntu)

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

Elder Marco
eldermarco

(usa Fedora)

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...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts