Comando SED para apagar duas ou mais palavras em um conteúdo de arquivo [RESOLVIDO]

1. Comando SED para apagar duas ou mais palavras em um conteúdo de arquivo [RESOLVIDO]

Cesar Rizzo
cesarzz

(usa CentOS)

Enviado em 31/03/2020 - 11:52h

Olá
Gostaria de saber qual a sintaxe do sed utilizo para apagar várias palavras de um texto, num só comando sed.
Por exemplo:

Nuvem branca
Carro cinza
Grama queimada
Teclado
Calculadora
Garrafa
Piano
Caneta
Lobo

Normalmente utilizo:
sed '/palavra/d' --> Para apagar uma palavra do conteúdo
sed '/palavra1/d ; /palavra2/d' --> Para apagar duas palavras...

Se eu tiver que apagar 5 palavras ou mais, o que pode ser feito?
Por exemplo, apagar as palavras:
Nuvem, Lobo, Caneta, Piano, Carro, Garrafa do texto acima.

Grato.



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 01/04/2020 - 14:58h


cesarzz escreveu:

msoliver escreveu:


cesarzz escreveu:

Olá
Gostaria de saber qual a sintaxe do sed utilizo para apagar várias palavras de um texto, num só comando sed.
Por exemplo:

Nuvem branca
Carro cinza
Grama queimada
Teclado
Calculadora
Garrafa
Piano
Caneta
Lobo

Normalmente utilizo:
sed '/palavra/d' --> Para apagar uma palavra do conteúdo
sed '/palavra1/d ; /palavra2/d' --> Para apagar duas palavras...

Se eu tiver que apagar 5 palavras ou mais, o que pode ser feito?
Por exemplo, apagar as palavras:
Nuvem, Lobo, Caneta, Piano, Carro, Garrafa do texto acima.

Grato.

O seu comando,
sed '/palavra1/d ; /palavra2/d' arquivo
Apaga a linha inteira.
Para deletar somente a palavra, use:
sed 's/palavra//' arquivo
Varias palavras:
sed -r 's/(Nuvem|Lobo|Caneta|Piano|Carro|Garrafa)[ ]?//' arquivo
Posteriormente, apague as linhas vazias:
sed 's/^$/d' arquivo



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________



Muito obrigado.
Mas qual a função dos colchetes com ponto de interrogação?
[ ]?

Isso é uma REGEX (Expressão Regular),
Significa que pode ter espaço, ou não depois da palavra.
Sem isso, qdo remover a palavra Carro, ficará:
" cinza"
Se a sua dúvida foi sanada, marque o tópico como resolvido e
escolha a MELHOR Resposta.
Foi aqui que aprendi:
https://aurelio.net/regex/guia/introducao.html
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

3. Re: Comando SED para apagar duas ou mais palavras em um conteúdo de arquivo [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 31/03/2020 - 18:22h


sed '/Nuvem\|Lobo\|Caneta\|Piano\|Carro\|Garrafa/d' arquivo.txt


4. Re: Comando SED para apagar duas ou mais palavras em um conteúdo de arquivo [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 31/03/2020 - 19:41h


cesarzz escreveu:

Olá
Gostaria de saber qual a sintaxe do sed utilizo para apagar várias palavras de um texto, num só comando sed.
Por exemplo:

Nuvem branca
Carro cinza
Grama queimada
Teclado
Calculadora
Garrafa
Piano
Caneta
Lobo

Normalmente utilizo:
sed '/palavra/d' --> Para apagar uma palavra do conteúdo
sed '/palavra1/d ; /palavra2/d' --> Para apagar duas palavras...

Se eu tiver que apagar 5 palavras ou mais, o que pode ser feito?
Por exemplo, apagar as palavras:
Nuvem, Lobo, Caneta, Piano, Carro, Garrafa do texto acima.

Grato.

O seu comando,
sed '/palavra1/d ; /palavra2/d' arquivo
Apaga a linha inteira.
Para deletar somente a palavra, use:
sed 's/palavra//' arquivo
Varias palavras:
sed -r 's/(Nuvem|Lobo|Caneta|Piano|Carro|Garrafa)[ ]?//' arquivo
Posteriormente, apague as linhas vazias:
sed 's/^$/d' arquivo



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Comando SED para apagar duas ou mais palavras em um conteúdo de arquivo [RESOLVIDO]

Cesar Rizzo
cesarzz

(usa CentOS)

Enviado em 01/04/2020 - 14:03h

msoliver escreveu:


cesarzz escreveu:

Olá
Gostaria de saber qual a sintaxe do sed utilizo para apagar várias palavras de um texto, num só comando sed.
Por exemplo:

Nuvem branca
Carro cinza
Grama queimada
Teclado
Calculadora
Garrafa
Piano
Caneta
Lobo

Normalmente utilizo:
sed '/palavra/d' --> Para apagar uma palavra do conteúdo
sed '/palavra1/d ; /palavra2/d' --> Para apagar duas palavras...

Se eu tiver que apagar 5 palavras ou mais, o que pode ser feito?
Por exemplo, apagar as palavras:
Nuvem, Lobo, Caneta, Piano, Carro, Garrafa do texto acima.

Grato.

O seu comando,
sed '/palavra1/d ; /palavra2/d' arquivo
Apaga a linha inteira.
Para deletar somente a palavra, use:
sed 's/palavra//' arquivo
Varias palavras:
sed -r 's/(Nuvem|Lobo|Caneta|Piano|Carro|Garrafa)[ ]?//' arquivo
Posteriormente, apague as linhas vazias:
sed 's/^$/d' arquivo



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________



Muito obrigado.
Mas qual a função dos colchetes com ponto de interrogação?
[ ]?







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts