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

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

Re: contagem de caracteres


From: Fabiano Caixeta Duarte
Subject: Re: contagem de caracteres
Date: Thu, 17 Jan 2008 20:31:50 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Julio C. Neves"
<julio.neves@...> escreveu
>
> Dei a solução baseado no exemplo. Para o novo caso que vc criou, basta
> acrescentar o sublinha no tr. Assim:
> 
> Prompt> expr length `echo
> "ddmmyy,hhmmss,nome_do_arquvio,tipo,,,,,versao,,,,," | tr -d [:alnum:]_`
> 13
> 
> E está restabelecida a paz... :)
> Julio
> 
> 
> Em 17/01/08, miranda <miranda@...> escreveu:
> >
> > bem sacado mas vai falhar em alguns casos :
> > exemplo
> > expr length `echo
"ddmmyy,hhmmss,nome_do_arquvio,tipo,,,,,versao,,,,," |
> > tr -d [:alnum:]`
> > 15
> > On Thu, 2008-01-17 at 11:03 -0200, Julio C. Neves wrote:
> > > Prompt> expr length `echo
> > > "ddmmyy,hhmmss,nomearquvio,tipo,,,,,versao,,,,," |
> > > tr -d [:alnum:]`
> > > 13
> > >
> > > Em 17/01/08, Elvio Barbalho <elvio.barbalho@...> escreveu:
> > > >
> > > > Senhores bom!!!!!
> > > >
> > > > estou precisando contar quantas virgulas tenho em determinada
linha.
> > > as
> > > > virgulas são o delimitadores de campos dentro de um arquivo.
> > > >
> > > > Ex de uma linha:
> > > >
> > > > ddmmyy,hhmmss,nomearquvio,tipo,,,,,versao,,,,,
> > > >
> > > > como podemos ver existem campos que nao nenhuma informação.
> > > >
> > > > tentei algo do tipo:
> > > >
> > > > :>echo ddmmyy,hhmmss,nomearquvio,tipo,,,,,versao,,,,, | wc -w
> > > > 1
> > > >
> > > > :>OFS=','
> > > >
> > > > :>echo $OFS
> > > > ,
> > > >
> > > > :>echo ddmmyy,hhmmss,nomearquvio,tipo,,,,,versao,,,,, | wc -w
> > > > 1
> > > >
> > > > Mais não deu certo.
> > > >
> > > > Lembrando que estou usando o Ksh(Solaris) e muitas das facilidades
> > > do Bash
> > > > não tenho disponível.

Gente,

O rapaz não quer só as vírgulas? Então é só retirar todo o resto ;)

expr length
$(temp="ddmmyy,hhmmss,nome_do_arquivo,tipo,,,,,versao,,,,,"; echo
${temp//[^,]/})

Tá feito!

Fabiano.



reply via email to

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