shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Filtrar e concatenar linhas


From: Paulo Bettega
Subject: Re: [shell-script] Re: Filtrar e concatenar linhas
Date: Thu, 30 Oct 2014 00:29:24 -0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

Veja se agora foi :)
Imprimir as linhas 'dn: ...etc...' que forem seguidas
da linha 'userAccountControl: xxxx' grudando a segunda
linha na primeira, é isso?

$ grep -oPz '(?s)dn[: [:alnum:]=,]+br.user[A-Za-z]+: [0-9]+' /tmp/arquivo.log | 
sed 'N;s/\n/,/'
dn: 
CN=BA1450NT001,OU=BA,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl:
 4096
dn: 
CN=BA0072VG501,OU=BA,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl:
 4098
dn: 
CN=BA4582NT001,OU=BA,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl:
 4128



Mas qual a sintaxe exata do comando?
Tentei assim:
$ cat /tmp/arquivo.log | grep -B1 'userAccountControl: 4096' <<<"$linhas"|sed 
'N;s/\n/,/'


E não retornou nada.

Eu coloquei as linhas que vc postou na variável $linhas,
então <<<"$linhas" é a entrada do grep.
Dá uma olhada no 'Papo de Botequim' do Mestre Julio
http://wiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Here_Strings

O grep aceita um arquivo como entrada, então vc pode fazer
grep 'user' /tmp/arquivo.log ao invés de cat /tmp/arquivo.log | grep 'user'


Abraços Paulo Bettega



reply via email to

[Prev in Thread] Current Thread [Next in Thread]