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 [resolvido]


From: denis costa
Subject: Re: [shell-script] sed script exclui comentários [resolvido]
Date: Mon, 20 Jul 2009 07:01:14 -0700 (PDT)

Bom eu sinceramente não me lembro de algume ter dado exatamente essa respostam 
mas todas as tentativas de ajuda me foram válida e me levaram a chegar a essa 
solução:

sed -n 's/#.*$//;/[0-9a-zA-Z]/p'

pois o ^$ não estava funcionado para excuir linhas vazias por causa de tabs e 
espaços.

O script que estava fazendo tem a inteção de de contar as linhas "úteis", seja, 
excuindo cometários e linhas vazias, de código fontes de várias linguagens.

Gostaria de agradecer a todos que compartilharam seu conhecimento. Com certeza 
aprendi mais com essa discussão!!!

Abraço a tod@s

--- Em sex, 17/7/09, Julio C. Neves <address@hidden> escreveu:

De: Julio C. Neves <address@hidden>
Assunto: Re: [shell-script] sed script exclui comentários
Para: address@hidden
Data: Sexta-feira, 17 de Julho de 2009, 15:09






 




    
                  Já que todo mundo deu pitaco, tb vou dar o meu:



Mantendo a identação:

$ echo '#!/bin/bash

#este programa não faz nada

    echo tudo  #escreveu tudo

   # um comentario

echo "NADA"' | sed -r 's/( *.*)#.*/\1/; /^ *$/d'

    echo tudo

echo "NADA"



Tirando a identação:

$ echo '#!/bin/bash

#este programa não faz nada

    echo tudo  #escreveu tudo

   # um comentario

echo "NADA"' | sed -r 's/ *(.*)#.*/\1/ ;/^ *$/d'

echo tudo

echo "NADA"



Não sei se era isso que vc queria pq não acompanhei a discussão, mas se for,

deve ser a mais rápida.

--

Abraços,

Julio

Cursos de Shell e Zenity?



- Em SP ligue (11) 2125-4747;



- Em DF ligue (61) 3223-3000;



- No RJ darei um treinamento em 23, 24 e 25/07 (p/ detalhes ligue (21)

2561-0867);

- Turmas fechadas em outras cidades ligue (21) 8112-9988



2009/7/17 César Vianna <cesar.vianna@ gmail.com>



>

>

> Ok. Outra refinando

>

> sed 's/ *//g;s/\(.*\ )#.*/\1/g' arquivo|grep -v "^$"|wc -l

>

> s/ *//g => retira todos os espaços em branco

> s/\(.*\)#.*/ \1/g => procura qualquer coisa seguido de # mais qualquer coisa

> e substitui pelo primeiro padrão \1

> grep - retira linhas em branco

>

> 2009/7/16 denis costa <deniscostadsc@ yahoo.com. br<deniscostadsc% 
> 40yahoo.com. br>

> >

>

> >

> >

> > outra coisa que esqueci de falar César Vianna, essa solução as linha

> > indesejadas se o comentário estiver identado:

> >

> > solução:

> > grep -v "^#" arquivo | grep -v "^$"

> >

> > exemplo

> >

> > #!/bin/bash

> > #este programa não faz nada

> > #e não escreve nada

> > echo "NADA"

> >

> > depois de processar:

> >

> > #e não escreve nada

> > echo "NADA"

> >

>



> -

>



[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]



reply via email to

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