Como retirar uma palavra dentro de um colchetes com Sed ou awk

1. Como retirar uma palavra dentro de um colchetes com Sed ou awk

Marcos Edson padula
mepedspdla

(usa Outra)

Enviado em 14/12/2018 - 16:35h

Pessoal , Boa tarde!
Uma ajuda por favor!

Tenho um texto onde as linhas contem uma palavra em colchetes, como retira-lo jogando em outro arquivo, segue exemplo abaixo :

É uma log assim :
Aguardando a conclusão do fluxo de trabalho [WKF_LTC_SPL_MOVIMENTO]
Aguardando a conclusão do fluxo de trabalho [WKF_LTC_SPL_PINPAD]
Aguardando a conclusão do fluxo de trabalho [WKF_MOC_LOG_ARQ_SEG]

Queria joga-los em outro arquivo assim :

WKF_LTC_SPL_MOVIMENTO
WKF_LTC_SPL_PINPAD
WKF_MOC_LOG_ARQ_SEG

Vlw!





  


2. Re: Como retirar uma palavra dentro de um colchetes com Sed ou awk

Matheus
pylm

(usa Gentoo)

Enviado em 14/12/2018 - 16:38h

Deve dar pra fazer algo melhor com awk mas o cut faz o serviço aqui.


cut log -d "[" -f 2 | cut -d "]" -f 1 | > novo-log



3. Re: Como retirar uma palavra dentro de um colchetes com Sed ou awk

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 14/12/2018 - 16:58h

Em sed ficaria assim:

sed 's/^.*\[\(.*\)\]/\1/' arquivo-log 


Explicando:

s/ - substitua
^.*\[ - do início da linha até o 1o colchetes
\(.*\)\] - inclusive o que está dentro do colchetes + o colchetes que fecha

mas capture o que está entre parêntesis \(.*\)

- ou seja, substitua tudo o que está na regexp por apenas o que está entre parêntesis ( \1 )

Expliquei mal pra caramba, mas é isso kkk


4. Como retirar uma palavra dentro de um colchetes com Sed ou awk

Marcos Edson padula
mepedspdla

(usa Outra)

Enviado em 14/12/2018 - 17:58h

Pessoal , Boa tarde!

Agradeço pela resposta, me ajudou muito, as duas maneiras que vcs me enviaram funcionaram perfeitamente, vcs D+, aprendi mais uma etapa.

Vlw Galera..


5. Re: Como retirar uma palavra dentro de um colchetes com Sed ou awk

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 14/12/2018 - 18:03h


Misturando comandos
cat log_antigo.txt | sed 's/\]/\[/g'| cut -d '[' -f2 > log_novo.txt  


Transforma ']' em '[' e pega a segunda coluna .


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



6. Re: Como retirar uma palavra dentro de um colchetes com Sed ou awk

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/12/2018 - 18:45h

Com awk:

awk -F"[" '{gsub(/\].*/,"",$2);print $2}' arquivo-log 





7. Como retirar uma palavra dentro de um colchetes com Sed ou awk

Marcos Edson padula
mepedspdla

(usa Outra)

Enviado em 14/12/2018 - 21:36h

Galera,

Show de bola, o AWK funcionou perfeitamente.
Muito Obrigado mesmo.


8. Re: Como retirar uma palavra dentro de um colchetes com Sed ou awk

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/12/2018 - 01:44h

Mais um com awk:
awk -F '[\[\]]' '{print $2}' texto.txt 

WKF_LTC_SPL_MOVIMENTO
WKF_LTC_SPL_PINPAD
WKF_MOC_LOG_ARQ_SEG

Com "egrep"

egrep -o '([A-Z_]{5,})' texto.txt
WKF_LTC_SPL_MOVIMENTO
WKF_LTC_SPL_PINPAD
WKF_MOC_LOG_ARQ_SEG

Att.:
Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts