|
From: | Édnei Rodrigues |
Subject: | SED - como ir selecionando trechos de acordo com um padrão |
Date: | Fri, 16 Sep 2016 14:12:11 -0300 |
Boa tarde pessoal.
Eu estava fazendo um script onde irá executar um outro script de acordo com as informações de um certo arquivo:
.CADIRTEWS
Capture Connector: object=user_password,dv=so_sicredi_ad
Apply Connector: object=tews_sicrediUsuario_merge,dv=so_caidmtews_userpassword
Transformation: ADUserPassword_To_CAIDMTewsPassword
Capture Connector: object=entidades_merge,dv=so_sicredi_oid_entities
Apply Connector: object=tews_SicrediOrganization,dv=so_caidmtews_entidades_org
Transformation: OIDEntitiesOU_To_CADIRTEWSEntidadesOU
.CADIRIDS
Components for topology: CADIRIDS
Capture Connector: object=SicrediNumberID,dv=so_sicredi_cadir_ids
Apply Connector: object=SicrediNumberID,dv=so_sicredi_oldap_ids
Transformation: CADIRIds_To_OLDAPIds
Apply Connector: object=SicrediNumberID,dv=so_sicredi_oid_ids
Transformation: CADIRIds_To_OIDIds
.CADIRENTIDADESOU
Capture Connector: object=SicrediOrganization_merge,dv=so_sicredi_cadir_entidades
Apply Connector: object=entidades_merge,dv=so_sicredi_oid_entities
Transformation: CADIREntidadesOU_To_OIDEntitiesOU
Capture Connector: object=SicrediOrganization_merge_deletion,dv=so_sicredi_cadir_entidades
Apply Connector: object=entidades_merge,dv=so_sicredi_oldap_entities
Transformation: CADIREntidadesOU_To_OLDAPEntitiesOUDelete
Transformation: CADIREntidadesOU_To_OIDEntitiesOUDelete
Transformation: CADIREntidadesOU_To_OLDAPEntitiesOU
Como podem ver, o início de cada trecho há um '.' e o final há uma linha vazia. Minha intenção é selecionar cada trecho, processá-lo e passar para o próximo trecho. Não há necessidade de criar um loop, somente eu tiver uma forma de usar o sed e manipular os trechos de acordo com a sua ordem. Sei que eu posso tratar com outros métodos, mas eu fiquei curioso como o SED poderia manipular.
O que eu já tentei:
[root@app1ssosite006h bin]# sed -n '1,/^\./p' listas_conectores.txt
/opt/radiantone/vds/r1syncsvcs/bin
.CADIRTEWS
[root@app1ssosite006h bin]# sed -n '2,/^\./p' listas_conectores.txt
.CADIRTEWS
Capture Connector: object=user_password,dv=so_sicredi_ad
Apply Connector: object=tews_sicrediUsuario_merge,dv=so_caidmtews_userpassword
Transformation: ADUserPassword_To_CAIDMTewsPassword
Capture Connector: object=entidades_merge,dv=so_sicredi_oid_entities
Apply Connector: object=tews_SicrediOrganization,dv=so_caidmtews_entidades_org
Transformation: OIDEntitiesOU_To_CADIRTEWSEntidadesOU
.CADIRIDS
[root@app1ssosite006h bin]#
[root@app1ssosite006h bin]# sed -n '/^\./{p;1q}' listas_conectores.txt
.CADIRTEWS
.CADIRIDS
.CADIRENTIDADESOU
.CADIRSEGURANCA
.CADIRDISTRIBUICAO
.CADIRUSERS
.CADIRENTIDADESGROUP
.CADIRTOVDSTOCADIR
.COMPUTE
Obrigado!
[Prev in Thread] | Current Thread | [Next in Thread] |