Pular para o conteúdo

Retira de uma linha tudo que estiver antes de uma palavra

Responder tópico
  • Denunciar
  • Indicar

1. Retira de uma linha tudo que estiver antes de uma palavra

Enviado em 21/11/2016 - 11:56h

Eu tenho um arquivo chamado arquivo2.txt, dentro dele
Eu tenho uma linha, e no meio dela eu tenho uma palavra chave, chamada ssh-rsa,

Eu gostaria de utilizar o SED para remover tudo que estiver antes desta linha,
Eu consegui chegar perto, mas ele omite a palavra ssh-rsa

maran@tuxninja:~$ cat arquivo2.txt
78A789SA78SA89SAUDS8A9UDSIOAUD8SAU8D9YASDSAJDKLAJDKSAKJDHJASHD,SAKDHSAUIHDUSAHJDKASHDHASUIDSAHUIHDSAJHUIDSAUIDSADSAssh-rsa huIYHS7A8Y7YE328932987YUWQHSUWQIY7E8QWYE872138U294U83297432WEHD28DH9B3D7U28B378B32UIBD32
maran@tuxninja:~$ sed 's/^.*ssh-rsa//' arquivo2.txt
huIYHS7A8Y7YE328932987YUWQHSUWQIY7E8QWYE872138U294U83297432WEHD28DH9B3D7U28B378B32UIBD32
maran@tuxninja:~$


Como eu faria para ele manter o ssh-rsa nesta consulta?

Obrigado,
Att,

Responder tópico

2. Re: Retira de uma linha tudo que estiver antes de uma palavra

Enviado em 21/11/2016 - 13:39h

maran escreveu:
maran@tuxninja:~$ sed 's/^.*ssh-rsa//'
Bateu na trave, amigão. Tente assim:
sed 's/^.*ssh-rsa/ssh-rsa/' arquivo2.txt 


3. Re: Retira de uma linha tudo que estiver antes de uma palavra

Enviado em 21/11/2016 - 13:48h

Sensacional !!!

Muito obrigado, deu certinho : )

4. Retira de uma linha tudo que estiver antes de uma palavra

Enviado em 22/11/2016 - 20:19h

acho que você consegue isso com Expressão regular, utilize o comando:
$ grep -E -o " .*ssh-rsa" arquivo2.txt

você vai listar tudo o estiver antes da palavra chave que você precisa em cada linha do texto.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder