RE: [shell-script] Pesquisa de diretivas #if

2010-01-13 Por tôpico Marcio Gil
Pessoal, a cinco meses eu fiz uma pergunta sobre separar diretivas da linguagem C. O objetivo era verificar se havia alguma opção de compilação não utilizada ou escrita incorretamente. Posto aqui a minha solução (para o caso de alguém se beneficiar dela). Como a pesquisa é complexa, eu criei algum

Re: [shell-script] Pesquisa de diretivas #if

2009-08-19 Por tôpico Julio C. Neves
OK Marcio, eu imaginei que vc quisesse todas as linhas, porém quebrando as linhas que contém as diretivas. Se vc que somente esta segunda parte, faça: $ sed -nr '/#if n?defined/p' arq1 | sed -r 's/(\|\||&&)/\\\n\1/' -- Abraços, Julio Cursos de Shell e Zenity em 2 fins de semana? - Em SP ligue (1

RE: [shell-script] Pesquisa de diretivas #if

2009-08-19 Por tôpico Márcio Gil
Julio, seria interessante se eu pudesse resolver tudo em um único comando (utilizando o sed como grep), mas a linha que você me sugeriu retornou todas as linhas dos arquivos, e não só as linhas com diretivas... > -Original Message- > From: Julio C. Neves > > Aê Marcio, > > método KISS

Re: [shell-script] Pesquisa de diretivas #if

2009-08-18 Por tôpico Julio C. Neves
Aê Marcio, método KISS: $ sed -r '/#if n?defined/s/(\|\||&&)/\\\n\1/' *.cpp Essa linha fará tudo que vc quer. -- Abraços, Julio Cursos de Shell e Zenity? - Em SP ligue (11) 2125-4747 (dias 29-30/08 e 12-13/09); - Em DF ligue (61) 3223-3000; - No RJ ligue (21) 2561-0867; - Turmas fechadas em out

Re: [shell-script] Pesquisa de diretivas #if

2009-08-18 Por tôpico César Vianna
sed ajuda echo "if defined( XXX ) || defined( YYY )"| sed 's/||/\n||/' 2009/8/18 Márcio Gil > > > Colegas, > > Eu executei a seguinte consulta, visando localizar diretivas > #ifdef/#ifndef que não constam em um arquivo de opções do programa > chamado Local.h: > > $ for DEF in $(grep -h "^\#

[shell-script] Pesquisa de diretivas #if

2009-08-18 Por tôpico Márcio Gil
Colegas, Eu executei a seguinte consulta, visando localizar diretivas #ifdef/#ifndef que não constam em um arquivo de opções do programa chamado Local.h: $ for DEF in $(grep -h "^\# *ifn\?def *" *.cpp | sed "s/^\# *ifn\?def *//" | sort -u) ; do if ! grep -q "\# *define *$DEF" Local/Local.h ; then