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|shellscript|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 <[email protected]> escreveu: De: Jeiks <[email protected]> Assunto: Re: [shell-script] sed script exclui comentários Para: [email protected] 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.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
