apagar palavras de um arquivo de texto [RESOLVIDO]

1. apagar palavras de um arquivo de texto [RESOLVIDO]

Marcilio
mooL

(usa KUbuntu)

Enviado em 26/03/2012 - 18:03h

blz galera?
estou querendo saber uma maneira de apagar todas as palavras de um texto que antecedem uma determinada ocorrência de uma palavra. Pelo pouco que sei do comando sed, quando eu usava sed '5,/palavra/d' texto.txt ele apagava todas as linhas inclusive a que possuía a palavra especifica, só que o que me interessa e o texto depois desta palavra. Se alguém poder me ajudar ficarei grato.


  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 27/03/2012 - 01:20h

faça uma cópia do arquivo e depois faça um teste com o script abaixo ;-)


#!/bin/bash
#pega o número da linha com o conteúdo desejado
NUM=$(grep -n 'CONTEUDO_DESEJADO' teste.txt | cut -d: -f1);

# retira do aquivo as linhas até a anterior do conteúdo desejado
sed -i 1,$(( $NUM - 1))d teste.txt

egrep -o 'CONTEUDO_DESEJADO.*' teste.txt > novo.txt

# retira a linha com o conteúdo e o 'lixo'
sed -i 1d teste.txt

# e pronto
cat teste.txt >> novo.txt


3. Re: apagar palavras de um arquivo de texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/03/2012 - 23:05h

Fiquei na dúvida se vc quer apagar o texto antes da palavra linha a linha ou todo o texto antes da palavra no texto inteiro.

Exemplo:

asadasdadadad
adadaddaAQUIasdadad



Resultado 1:
asadasdadadad
AQUIasdadad

Resultado 2:
AQUIasdadad

qual seria?






4. Re: apagar palavras de um arquivo de texto [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 26/03/2012 - 23:13h

mooL escreveu:

estou querendo obter o resultado 2


o sed faz isso


5. Re: apagar palavras de um arquivo de texto [RESOLVIDO]

Marcilio
mooL

(usa KUbuntu)

Enviado em 26/03/2012 - 23:15h

danniel-lara escreveu:

mooL escreveu:

estou querendo obter o resultado 2


o sed faz isso


no caso de usar sed, qual seriam os parâmetros? ex: sed '1,/palavra/d' texto.txt




6. Re: apagar palavras de um arquivo de texto [RESOLVIDO]

Marcilio
mooL

(usa KUbuntu)

Enviado em 26/03/2012 - 23:22h

rai3mb escreveu:

Fiquei na dúvida se vc quer apagar o texto antes da palavra linha a linha ou todo o texto antes da palavra no texto inteiro.

Exemplo:

asadasdadadad
adadaddaAQUIasdadad



Resultado 1:
asadasdadadad
AQUIasdadad

Resultado 2:
AQUIasdadad

qual seria?





estou desejando obter o resultado 2


7. Re: apagar palavras de um arquivo de texto [RESOLVIDO]

Marcilio
mooL

(usa KUbuntu)

Enviado em 27/03/2012 - 19:53h

rai3mb escreveu:

faça uma cópia do arquivo e depois faça um teste com o script abaixo ;-)


#!/bin/bash
#pega o número da linha com o conteúdo desejado
NUM=$(grep -n 'CONTEUDO_DESEJADO' teste.txt | cut -d: -f1);

# retira do aquivo as linhas até a anterior do conteúdo desejado
sed -i 1,$(( $NUM - 1))d teste.txt

egrep -o 'CONTEUDO_DESEJADO.*' teste.txt > novo.txt

# retira a linha com o conteúdo e o 'lixo'
sed -i 1d teste.txt

# e pronto
cat teste.txt >> novo.txt


era isso mesmo! obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts