|
From: | Édnei Rodrigues |
Subject: | Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão |
Date: | Mon, 19 Sep 2016 13:16:22 -0300 |
Olá pessoal, obrigado pelo interesse.
Eu não respondi antes porque eu trabalhei 15 dias direto e, assim, peguei esse findi para descansar.
Tentarei explanar melhor qual é a intenção aqui.
Eu tenho um script chamado topology.sh que ao usar como parâmetro printConnectorStatus, tu podes passar a topologia e o conector. Essa é sintaxe:
/topology.sh printConnectorStatus CADIRTEWS object=tews_sicrediUsuario_merge,dv=so_caidmtews_userpassword
Eu já pensei no código e já coloquei num txt todos as topologias e conectores existentes. Para cada topologia, eu coloquei um '.' no início para identificá-lo. Para caracterizar o fim da lista de comandos, eu inseri uma linha em branco.
Minha idéia é ler esse arquivo, montar o comando acima e executar ( o retorno será um STARTED ou DOWN ) para cada topologia e seus conectores.
Por isso, eu estava tentando montar um SED para pegar a uma Topologia de vez e ir executando seus respectivos conectores. Logo, pensando numa forma eficiente, seria algo assim:
Comando SED 'pegar nome depois do .' > TOPOLOGIA_NOME
Comando SED 'PEGAR proxima linha depois do primeiro ponto até a proxima linha branca' > Arquivo temporário ou Variável
LOOP leitura da saida acima
/.topology.sh printConnectorStatus TOPOLOGIA_NOME Var_loop
Peço desculpas por não ter sido mais rápido na resposta, mas eu estava cansado mesmo.
Att,
Édnei Rodrigues
Abração!Ednei,crie uma amostra pra galera entender qual é a sua finalidade, coloque em anexo um arquivo a ser processado (INPUT) e mais dois; um contendo um arquivo com o processamento desejado e um contendo um arquivo com o erro que vc encontrou.Lógicamente, crie os arquivos com uma pequena amostra, vai ser mais simples de entender o que vc quer fazer.Em 17 de setembro de 2016 09:45, 'Julio C. Neves' address@hidden [shell-script] <address@hidden.br > escreveu:Itamar, não havia respondido nada, pq minhas dúvidas foram exatamente iguais às suas.
Em 17 de set de 2016 09:33, "address@hidden [shell-script]" <address@hidden.br > escreveu:Caro Édnei
Fiquei com algumas dúvidas sobre o que deseja e sobre o arquivo de exemplo:
1 - A cada trecho que começa por uma linha iniciado por um ponto ( como vc descreveu ), seguida de letras maúsculas até o final da linha ( minha dedução cujo regex seria "/\.[A-Z]+$/" ) e que também poderia ser linhas iniciadas por ".CADIR", e outra por ".COMPUTE".
2 - O final de cada bloco há uma linha vazia, todavia no exemplo que passou não chegou contendo. Isso pode ser um problema pela maneira como chegou via o fórum, por isso pergunto.
Se for isso a segunda parte da regex poderia ser limitada assim /^$/ ou /^[[:blank:]]*$/ se houver a possibilidade de conter espaços ou tabulações.
3 - O último comando que lista apenas os "títulos" não deveria ser:
$ sed -n '/^\./p' listas_conectores.txt
Do jeito que passou comigo listou apenas um, e não todos.
4 - Para cada trecho desejado vc quer fazer um processamento distinto dentro do sed.
Se é isso um filtro generalista de começo não serve, como a regex "/\.[A-Z]+$/" que sugeri a pouco e talvez o uso por limite inicial por número da linha como vc usou pode ser ineficaz, caso o conteúdo seja variável.
Para isso vc pode montar os blocos definindo explicitamente o começo e o final, por exemplo:
$ sed -n '/\.CADIRIDS/,/^$/ {
*** comandos para esse trecho ***
p
}' listas_conectores.txt
ou se precisar limitar o fim de outra forma com o uso do ponto inicial:
$ sed -n '/\.CADIRIDS/,/^\./ {
/\./ { /\.CADIRIDS/!q; }
*** comandos para esse trecho ***
p
}' listas_conectores.txt
Não sei se fui claro em minhas dúvidas e se o que sugeri lhe ajuda.
De toda forma, seria como abordaria usando o sed.
[]'s
Itamar
--Atenciosamente,
Rodrigo da Silva Cunha
[Prev in Thread] Current Thread [Next in Thread]
- SED - como ir selecionando trechos de acordo com um padrão, Édnei Rodrigues, 2016/09/16
- Re: SED - como ir selecionando trechos de acordo com um padrão, itamarnet, 2016/09/17
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Julio C. Neves, 2016/09/17
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Rodrigo Cunha, 2016/09/17
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Édnei Rodrigues <=
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, phfbettega, 2016/09/19
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, itamarnet, 2016/09/19
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, phfbettega, 2016/09/19
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, itamarnet, 2016/09/20
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Julio C. Neves, 2016/09/20
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Édnei Rodrigues, 2016/09/21
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Julio C. Neves, 2016/09/21
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, phfbettega, 2016/09/21
- Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão, Édnei Rodrigues, 2016/09/21
- Re: [shell-script] Re: SED - como ir selecionando tr echos de acordo com um padrão, itamarnet, 2016/09/21
- Prev by Date: Re: [shell-script] Ajuda com SED
- Next by Date: Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão
- Previous by thread: Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão
- Next by thread: Re: [shell-script] Re: SED - como ir selecionando trechos de acordo com um padrão
- Index(es):