[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] validação de string
From: |
Jose Edson Moreno Jr |
Subject: |
Re: [shell-script] validação de string |
Date: |
Tue, 15 Mar 2011 20:23:00 -0300 |
Oi Elvio,
Bom imagino que queira contar o numero de ocorrencia "set control n", uma
maneira seria pegar parte da palavra que esta contida na string e contar o
numero de ocorrencia, algo como :
grep control arquivo.txt | wc -l
Porém isto somente funcionaria se esta palavra somente ocorresse na
string, uma outra maneira seira fazer a contagem de campos apos a
normalizacao, ou em outras palavras a eliminação do final de linha, assim :
awk -F'\n' '{printf $0" "} END {printf "\n"}' arquivo.txt | grep "set
control n" | awk -F'set control n' '{print NF - 1}'
Supondo, que seu arquivo contenha centenas de variações e no meio esta
string , uma maneira de tratar para não ficar uma linha enorme seria assim :
grep -A 1 -B 1 control arquivo.txt | awk -F'\n' '{printf $0" "} END {printf
"\n"}' | sed "s/set control n/\nset control n\n/g" | grep "set control n" |
wc -l
Como vê, existe diversa maneiras de ataca o problema, somente é necessário
ver qual será o tipo de restrição, talves, tenha ate outra maneiras mais
simples, mas seria uma real analise do arquivo que contera a ocorrencia, os
modos que pode ocorrer e assim determinar um meio mais fácil ... mas
acredito que estas maneiras devam atender a sua necessidade (a ultima é uma
melhoria do que já passei para você e muito mais abrangente) ..
Att.
Edson
Em 15 de março de 2011 11:36, Elvio Barbalho <address@hidden>escreveu:
>
>
> Jose Edson bom dia sua dica funcionou, entretanto depois deparei me com
> outro problema preciso contar o número de ocorrências desta string e
> utilizando o grep em conjunto com o wc -l sempre retorna 1 pois temos mente
> uma unica linha. Se puder ajudar agradeço.
>
>
> Elvio Barbalho
> Brasília, DF
> Brasil
>
> address@hidden
>
> Em 14 de março de 2011 13:19, Jose Edson Moreno Jr
> <address@hidden>escreveu:
>
>
> > Bom dia Elvio,
> >
> > Normalize a entrada e depois faça o teste , um meio de fazer isso :
> >
> > awk -F'\n' '{printf $0" "} END {printf "\n"}' /arquivo.txt | grep "set
> > control n"
> > if [ $? -eq 0 ]; then
> > echo "String OK "
> > fi
> >
> > agora se deseja utilizar regex, segue a regex para o seu padrão :
> > (set)[\ |\n](control)[\ |\n]n
> >
> > Att.
> >
> > Em 14 de março de 2011 11:18, Elvio Barbalho <address@hidden
> > >escreveu:
> >
> > >
> > >
> > > Bom dia senhores, tenho que validar uma determinada string dentro de um
> > > arquivo, até ai nada complicado.
> > >
> > > A string a ser validada é essa "set control n" entretanto ela pode ter
> > > algumas variações por exemplo:
> > >
> > > set control
> > > n
> > > ----------------------------
> > > set
> > > control n
> > > ----------------------------
> > > set
> > > control
> > > n
> > > ----------------------------
> > >
> > > como podemos ver parte dessa string pode ou não estar em outra linha
> > dentro
> > > do arquivo, mas necessariamente seguindo essa ordem ai.
> > >
> > > Poderiam me ajudar a criar um expressão regular para verificar se essa
> > > string esta ou não presente dentro do arquivo?????
> > >
> > > Elvio Barbalho
> > > Brasília, DF
> > > Brasil
> > >
> > > address@hidden
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > Jose Edson Moreno Jr.
>
> >
> >
> > [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]
>
>
>
--
Jose Edson Moreno Jr.
[As partes desta mensagem que não continham texto foram removidas]
- validação de string, Elvio Barbalho, 2011/03/14
- Re: [shell-script] validação de string, Jose Edson Moreno Jr, 2011/03/14
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/15
- Re: [shell-script] validação de string,
Jose Edson Moreno Jr <=
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/16
- Re: [shell-script] validação de string, Eri Ramos Bastos, 2011/03/16
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/16
- Re: [shell-script] validação de string, Eri Ramos Bastos, 2011/03/16
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/16
- Re: [shell-script] validação de string, Eri Ramos Bastos, 2011/03/16
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/16
- Re: [shell-script] validação de string, Wagner Macedo, 2011/03/16
- Re: [shell-script] validação de string, Jose Edson Moreno Jr, 2011/03/16
- Re: [shell-script] validação de string, Elvio Barbalho, 2011/03/16