Em 17/01/08, Julio C. Neves <[EMAIL PROTECTED]> escreveu: > > Fala Fabiano, > isso foi a primeira coisa que me ocorreu, porém tenho 90% de certeza que > este brace expansion (${...}) não funciona no ksh da Sun (Sw Proprietário > é > muito ruim) :) > > Abração, > Julio > > Em 17/01/08, Fabiano Caixeta Duarte <[EMAIL PROTECTED]> escreveu: > > > > --- Em shell-script@yahoogrupos.com.br > <shell-script%40yahoogrupos.com.br>, > > "Julio C. Neves" > > <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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. > > > -- > Abraços, > Julio >
De fato não havia me atentado a este importante detalhe. Testando no ksh do linux (ksh --version: version sh (AT&T Labs Research) 1993-12-28 o+) ele até cuidou direitinho do $() e do ${///}, mas se atrapalhou com a er [^,]. -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP [As partes desta mensagem que não continham texto foram removidas]