|
From: | diramos |
Subject: | Re: [shell-script] Filtrar e concatenar linhas |
Date: | 30 Oct 2014 14:51:20 -0700 |
Mestres,
Perdoem se não me expressei corretamente.
Vou explicar mais adequadamente:
Meu arquivo.log simplificado:
dn: CN=AM3578NT002,OU=AM,OU=Servidores
userAccountControl: 4128
dn: CN={e0c28711-fd70-4c4a-aae4-b97031cfa0bf},CN=AM7458SR007,OU=AM,OU=Servidor
dn: CN=AM3898NT002,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br
userAccountControl: 4096
dn: CN=AM7417SR001,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br
userAccountControl: 4096
dn: CN=IASIdentity,CN=RS4436NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caix
dn: CN=RS2093NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br
userAccountControl: 4128
dn: CN=RS2615NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br
userAccountControl: 4128
Notem que tem linhas consecutivas que repetem a string "dn: " (em negrito) no início.
Preciso que fique assim:
dn: CN=AM3578NT002,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4128
dn: CN=AM3898NT002,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4096
dn: CN=AM7417SR001,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4096
dn: CN=RS2093NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4128
dn: CN=RS2615NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4128
Tentei todas as as dicas passadas, bem como outras tentativas, e nenhuma funcionou perfeitamente. Certamente por eu não ter explicado corretamente o problema.
O que chegou mais perto foi a dica do Paulo e Itamar, assim:
cat /tmp/arquivo.log | awk '/dn:/ {atual=$0;getline proxima; if(proxima ~ /userAccountControl:/){ print atual "," proxima }}'
RESULTADO:
dn: CN=AM3578NT002,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4128
dn: CN=AM7417SR001,OU=AM,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4096
dn: CN=RS2615NT002,OU=RS,OU=Servidores,OU=CAIXA,DC=corp,DC=caixa,DC=gov,DC=br,userAccountControl: 4128
OU SEJA:
Faltaram linhas para o resultado que preciso.
Peço compreensão e ajuda, por favor, se puderem.
E prometo caprichar mais da próxima vez.
Grato.
[Prev in Thread] | Current Thread | [Next in Thread] |