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

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

Re: [shell-script] sed script exclui comentários


From: César Vianna
Subject: Re: [shell-script] sed script exclui comentários
Date: Thu, 16 Jul 2009 11:26:45 -0300

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 <address@hidden>

>
>
> 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 
> <address@hidden<deniscostadsc%40yahoo.com.br>>
> escreveu:
>
> De: denis costa <address@hidden <deniscostadsc%40yahoo.com.br>
> >
> Assunto: Re: [shell-script] sed script exclui comentários
> Para: address@hidden <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]



reply via email to

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