Concatenando linhas com o awk

O problema surge na lista sed-br:
http://br.groups.yahoo.com/group/sed-br/message/4369

A descrição do mesmo

Senhores,
Ainda não consegui achar uma solução, tem um arquivo que ele assim:

dn: uid=xx,ou=Usuarios,dc=bbbb,dc=com,dc=br
cn: fulano de tal
homePhone: 053922
mail: fulano@...
dn: uid=yy,ou=Usuarios,dc=bbb,dc=com,dc=br
cn: beltrano de tal
homePhone: 053923
mail: beltrano@...

Isso se repete, sempre, dn:, cn: homePhone: e mail:, gostaria de deixar
ele dessa forma:

dn: uid=xx,ou=Usuarios,dc=bbbb,dc=com,dc=br;cn: fulano de tal;homePhone:
053922

em coluna para cada 4 linhas do arquivo. Alguém tem alguma idéia de como
fazer isso?


A solução ...

awk 'ORS=NR%4?",":"\n"' file

# a atribuição do "separador de registro de saída" ORS tem um opcional
# que pode ser virgula ou quebra de linha "\n", para ser quebra de linha necessita
# que o valor seja um número que dividido por 4 dê resto zero, na prática
# o awk vai concatenar de 4 em quatro linhas colocando uma virgula entre "linhas"

Nenhum comentário:

Postar um comentário

Insira seu comentário - O mesmo será submetido à aprovação!

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo