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

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

Re: [shell-script] Expressão regular com o sed


From: Rodrigo Boechat
Subject: Re: [shell-script] Expressão regular com o sed
Date: Mon, 05 Mar 2012 11:27:48 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

Esqueci de falar que eu usei o "-r" agora. Ele torna desnecessário o uso 
da "contra-barra" e habilita outras coisas interessantes. Acho que vale 
a pena estudar a opção.
:)

Em 05-03-2012 11:20, Rodrigo Boechat escreveu:
> Realmente tinha entendido errado.
> Tente essa:
> sed -r "s/((.*;){2}.*)/\2/;s/;//g;/^[[:upper:]]{3} /d" teste
>
> Explicando:
> As "contra-barras" são para informar ao sed que o próximo caractere 
> não deve ser tratado como caractere de controle do próprio sed. Há 
> expressões, do sed, que você poderá usar "\{3\}" para contar 3 
> caracteres e "{}" para delimitar uma área de execução.
> Não sei se fui completamente claro...
>
> Em 05-03-2012 10:56, Adonai Silveira Canez escreveu:
>> Rodrigo, infelizmente não funcionou, de repente o meu exemplo não foi bem
>> explicado, vou tentar explicar melhor.
>> O arquivo que estou manipulado tme o nome das pessoas na segunda coluna,
>> como pode-se ver naquele exemplo que eu passei, nessa coluna existe nome de
>> pessoas escrito totalmente em maiusculo e nomes de pessoas que estão
>> escritos com a primeira letra maiuscula e as demais em minusculo. Eu
>> preciso pegar apenas os nomes que estão com todas as letras em maisuculo e
>> que tenham na primera palavra do nome 4 ou mais letras.
>>
>> Eu não consegui entender o tua expressão, gostaria de saber qua a utilidade
>> do \ antes dos ( no \{2\} isso é para as chaves serem reconhecidas como
>> caracter especial??
>>
>>
>> Em 5 de março de 2012 10:45, Rodrigo Boechat<
>> address@hidden>  escreveu:
>>
>>> **
>>>
>>>
>>> Veja se essa linha te ajuda.
>>> sed "s/\(\(.*;\)\{2\}.*\)/\2/;s/;//g;s/^\([[:upper:]]\{3\}
>>> \)\([[:upper:]]*\)/\2/" teste
>>>
>>> "teste" é o arquivo com os dados que você passou como exemplo.
>>>
>>> Abraço!
>>>
>>> Em 05-03-2012 10:18, Adonai Silveira Canez escreveu:
>>>
>>>> Pessoal, preciso de uma ajuda com mais uma expressão regular, coisas
>>>> básicas eu já estou conseguindo fazer, mas essa eu não estou acertando,
>>> um
>>>> dos problema é que não sei como especificar que algumas coisas. Abaixo
>>>> está
>>>> o resultado da minha consulta, o problema é que eu preciso que no
>>>> resultado
>>>> não apareca os nomes que no inicio (após a primeira virgula) tenha
>>>> apenas 3
>>>> letras maiusculas, tipo: os 3 primeiros GSN SUPORTE A NEGOCIOS e GPC
>>>> GERENCIA DE PLANEJAMENTO E CONTROLE DE PRODUCAO, como eu faço para criar
>>>> uma culta que pegua apenas as palavras que tenham 4 um mais letras
>>>> maiusculas seguido por um espaço e após outras letras maiusculas e outros
>>>> espaços, básicamente é para pegar apenas as pessoas que tem no minimo
>>> dois
>>>> nomes que estejam com todas as letras escritas em maiusculo.
>>>>
>>>> cat temp2.txt | sed -n -r '/.*;[[:upper:] ]*;.*/p'
>>>>
>>>> negocios.defesa;GSN SUPORTE A NEGOCIOS;Gsn Suporte a Negocios
>>>> negocios.social;GSN SUPORTE A NEGOCIOS;Gsn Suporte a Negocios
>>>> negocios.governo;GSN SUPORTE A NEGOCIOS;Gsn Suporte a Negocios
>>>> fernando.josafa;FERNANDO JOSAFA DOS SANTOS;Fernando Josafa Dos Santos
>>>> nathalia.silva;NATHALIA JULIENE ALVES DA SILVA;Nathalia Juliene Alves da
>>>> Silva
>>>> rayane.dieguez;RAYANE SOUZA DIEGUEZ;Rayane Souza Dieguez
>>>> gpc;GPC GERENCIA DE PLANEJAMENTO E CONTROLE DE PRODUCAO;Gpc Gerencia de
>>>> Planejamento e Controle de Producao
>>>> rafael.monteiro;RAFAEL FLISTER MONTEIRO;Rafael Flister Monteiro
>>>> daniel.souza;DANIEL EDILSON DE SOUZA;Daniel Edilson de Souza
>>>>
>>>> Adonai Canez
>>>>
>>>> [As partes desta mensagem que não continham texto foram removidas]
>>>>
>>>>
>>> [As partes desta mensagem que não continham texto foram removidas]
>>>
>>>
>>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> Esta lista não admite a abordagem de outras liguagens de programação, como 
>> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
>> aviso.
>> ---------------------------------------------------------------------
>> Sair da lista:address@hidden
>> ---------------------------------------------------------------------
>> Esta lista é moderada de acordo com o previsto 
>> emhttp://www.listas-discussao.cjb.net
>> ---------------------------------------------------------------------
>> Servidor Newsgroup da lista: news.gmane.org
>> Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>> Links do Yahoo! Grupos
>>
>>
>>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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