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
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
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
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
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 "^\#
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