Como comparar o conteúdo dos arquivos de duas pastas, mas excluir #if… #endif

2

Eu tenho duas pastas, digamos Folder_A e Folder_B. A maioria dos arquivos nestas duas pastas são iguais, mas existem alguns arquivos em Folder_B que são modificados com #if ... #endif seções. Existe algum comando ou lote Linux que possa encontrar esses arquivos em Folder_B?

    
por Jim H 16.06.2014 / 03:09

1 resposta

1

$ cat file1.c
foo bar
#ifdef foo
bar
#endif
qux
#ifdef foo2
bar2
#endif
qzzx

.

$ cat file2.c
foo bar
#ifdef foo_
bar_
#endif
qux
#ifdef foo3
bar3
#endif
quux

.

$ diff \
> <(awk '/^[[:space:]]*#if/,/^[[:space:]]*#endif/{next}1' file1.c) \
> <(awk '/^[[:space:]]*#if/,/^[[:space:]]*#endif/{next}1' file2.c)
3c3
< qzzx
---
> quux
    
por 16.06.2014 / 11:15

Tags