Apagar conteúdo anterior [RESOLVIDO]

1. Apagar conteúdo anterior [RESOLVIDO]

Eduardo Rodrigues
Madrux

(usa Ubuntu)

Enviado em 05/09/2018 - 23:07h

Boa noite a todos,

através do comando sed gostaria de montar uma expressão regular que identifique um determinado caracter e apague todo o conteúdo anterior a ele. Por exempo, quero localizar o caracter & no arquivo e apagar todo o conteúdo anterior a ele. O exemplo abaixo apaga apenas o caracter &.

Exemplo:
$ cat temp
texto texto < %$ & texto 4442

$ cat arquivo | sed 's/.&/ /'

$ cat arquivo
texto texto < %$ texto 4442


Obrigado a todos




  


2. MELHOR RESPOSTA

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 06/09/2018 - 00:22h

1- Usando grep:
echo 'texto texto < %$ & texto 4442' | grep -oP '&\K.*' 

2- Usando sed:
echo 'texto texto < %$ & texto 4442' | sed -ne 's/.*&//p' 

Resultado: texto 4442

EDIT:
Se for pra manter o string ("&"):
echo 'texto texto < %$ & texto 4442' | grep -o '&.*' 

echo 'texto texto < %$ & texto 4442' | sed -ne 's/.*\(&\)/\1/p' 

Resultado: & texto 4442





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts