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 t...@s --- Em sex, 17/7/09, Julio C. Neves <[email protected]> escreveu: De: Julio C. Neves <[email protected]> Assunto: Re: [shell-script] sed script exclui comentários Para: [email protected] 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]
