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

[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]



reply via email to

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