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:20:51 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

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 em 
> http://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]