Não sei se entendi errado, mas não serve a alternativa abaixo? O primeiro grep remove linhas que iniciam com comentário e o segundo as linhas em branco
~# grep -v "^#" /etc/apache2/apache2.conf|grep -v "^$"|wc -l 45 2009/7/16 denis costa <[email protected]> > > > os programas que estou usando para testar o contador de linhas "úteis" > > Programa bash > > #!/bin/bash > # > # Programa que cria aliases na quantidade necessária > # > # Para criar aliases a sintaxe é: > # ./aliases.sh cria 1 2 (1 é a variação do terceiro octeto do IP e 2 a > variação do quarto) > # Para destruir aliases a sintaxe é: > # ./aliases.sh destroi > > rede_base=168.192 > > mascara=255.255.0.0 > contador=0 > > if [ $1 == cria ]; then > echo "serão criados `expr $2 \* \( $3 + 1 \)` aliases" > sleep 3 > for octeto_tres in `seq 1 $2`; do > for octeto_quatro in `seq 0 $3`; do > ifconfig eth0:$contador inet > ${rede_base}.${octeto_tres}.${octeto_quatro} netmask $mascara > contador=$(expr $contador + 1) > done > done > elif [ $1 == destroi ]; then > ifconfig eth0:0 down > fi > > programa IDL > > pro grafico > > srf,'/mnt/proc026/MOSAIC-00000968.univap2009.postgres/dsm2.5/br090218_uva4kmco_001b1014_00000968.forward3_dem_crs',dem > > srf,'/mnt/proc074/denis/br090218_uva4kmco2.5_001b1014_00000463.forward4_dem_crs',dsm > ;Faz diferança > diff=dsm-dem > diffz=dem-dsm > ;Limpa as imagens de diferença > putdum,diff,1000 > putdum,diffz,1000 > ;Mostra a imagem de diferença > tvf,diffz,5,5,-10,10 > ;Calcula informação para gráficos > range=rebix(diff) > azimuth=rebiy(diff) > rangez=rebix(diffz) > azimuthz=rebiy(diffz) > ;Mostra gráficos > window,/free & !p.color=0 > wset,33 > plot,range,yrange=[-10,10],title='Range' > window,/free & !p.color=0 > wset,34 > plot,azimuth,yrange=[-10,10],title='Azimuth' > > for i=0, 100 do begin > print,"calculando range..." > wset,33 > wait,3 > plot,rangez,yrange=[-10,10],title='Range' > > print,"Phase Cal..." > print,"." > print,"...." > print,"......." > print,"..........." > print,".............." > > for j=0, 100, 10 do begin > print,j,"%" > wait,1 > endfor > > print,"calculando azimuth..." > wset,34 > wait,3 > plot,azimuthz,yrange=[-10,10],title='Azimuth' > > print,"everything Ok!!!" > wset,33 > wait,3 > plot,range,yrange=[-10,10],title='Range' > > print,"testing" > wset,34 > wait,3 > plot,azimuth,yrange=[-10,10],title='Azimuth' > endfor > end > > --- Em qui, 16/7/09, denis costa > <[email protected]<deniscostadsc%40yahoo.com.br>> > escreveu: > > De: denis costa <[email protected] <deniscostadsc%40yahoo.com.br> > > > Assunto: Re: [shell-script] sed script exclui comentários > Para: [email protected] <shell-script%40yahoogrupos.com.br> > Data: Quinta-feira, 16 de Julho de 2009, 10:05 > > > > O esboço do programa está assim mas, quando vai contabilizar as linha > "úteis" em idl ele não exclui da contagem as linha em branco isso só em IDL. > > #!/bin/bash > > linguagem=$( echo $1 | tr 'A-Z' 'a-z') > > case $linguagem in > > bash|shell|shellscr ipt|sh|ksh| csh) > > > cat $2 | sed 's/#.*$//;/^ $/d' | wc -l > > ;; > > idl) > > cat $2 | sed 's/;.*$//;/^ $/d' | wc -l > > ;; > > c) > > echo "Calma! Ainda não pensei em C" > > ;; > > *) > > echo "Linguagem não suportada." > > ;; > > esac > > --- Em qui, 16/7/09, Jeiks <jacsonrcsilva@ gmail.com> escreveu: > > De: Jeiks <jacsonrcsilva@ gmail.com> > > Assunto: Re: [shell-script] sed script exclui comentários > > Para: shell-script@ yahoogrupos. com.br > > Data: Quinta-feira, 16 de Julho de 2009, 9:57 > > > > o wc tah esquisito.. nao entendi o pq de estar errado > > quanto a outra dúvida, para comentários tanto com "#" quanto ";", use: > > sed 's/[#;].*$// ;/^$/d' > > abs > > 2009/7/16 denis costa <deniscostadsc@ yahoo.com. br> > > > > > > > > > essa soluão funciona perfeitamente em shell script: > > > sed 's/#.*$//;/^ $/d' > > > > > > mas como faria para usar o menos código em uma outra linguagem que usa > > > ponto e virgula (;) para comentário: > > > sed 's/\;.*$//;/ ^$/d' > > > > > > essa solução acima até funcionaou mas não exclui as linhas em branco > > > > > > --- Em qui, 16/7/09, jimmy <ronaldo_tgz@ yahoo.com. br<ronaldo_tgz% > 40yahoo.com. br>> > > > escreveu: > > > > > > De: jimmy <ronaldo_tgz@ yahoo.com. br <ronaldo_tgz% 40yahoo.com. br>> > > > > > > Assunto: Re: [shell-script] sed script exclui comentários > > > Para: shell-script@ yahoogrupos. com.br <shell-script% 40yahoogrupos. > com.br> > > > Data: Quinta-feira, 16 de Julho de 2009, 9:16 > > > > > > > > > > > > On Thu, Jul 16, 2009 at 03:55:01AM -0700, denis costa wrote: > > > > > > > Olá a todos eu tenho um problema em um script... > > > > > > > > > > > > > > estava fazendo um script que contabilizava as linha de códigos-fontes > > > (excluindo linha em branco e comentários) > > > > > > > então fiz em sed para apagar o que começa com comentário e apagar as > > > linhas em branco: > > > > > > > > > > > > > > sed '/^#/d;/^$/d' > > > > > > > > > > > > > > mas assim ele só apaga no ínicio da linha, não apaga se tiver um espao > ou > > > tab. > > > > > > > > > > > > > > outra solução era apagar do comentário até o fim da linha, mas esse > > > também apaga a linha toda: > > > > > > > > > > > > > > sed '/#/,/$/d;/^ $/d' > > > > > > > > > > > > > > Ou seja caso tenha um comentário após uma linha de código essa será > > > excluída da contagem final. > > > > > > > > > > > > > > Por favor me ajudem com o complexíssimo( sic) sed, pelo menos pra mim. > > > > > > > > > > > > > > Desde já agradeço a todos... > > > > > > > > > > > > > > E parabéns pela qualidade da lista a todos!!! > > > > > > > > > > > > > > Um abraço > > > > > > > > > > > > > > ------------ --------- --------- ------ > > > > > > com o sed tente fazer: > > > > > > $ sed '/^\s*\(#\|$ \)/d;' arquivo > > > > > > ou > > > > > > $ sed '/^\s*[^#]\w/ !d' arquivo > > > > > > mas já que você quer contar: > > > > > > $ grep -E -c '^\s*[^#]\w' arquivo > > > > > > -- > > > > > > "Não manejo bem as palavras > > > > > > Mas manipulo bem as strings." > > > > > > ------------ --------- --------- > > > > > > "Cada um usa a ferramenta que merece." > > > > > > ------------ --------- --------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ____________ _________ _________ _________ _________ _________ _ > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > > http://br.maisbusca dos.yahoo. com > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > -- > > Jacson R. C. Silva > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > ____________ _________ _________ _________ _________ _________ _ > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > __________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > > -- César Vianna ------------------- Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo às unidades; os agenciamentos móveis aos sistemas. Gilles Deleuze & Felix Guattari [As partes desta mensagem que não continham texto foram removidas]
