2012-07-04 12 views
15

Desidero utilizzare diff per confrontare due directory per file diversi, utilizzando l'opzione -q per l'output breve. Tuttavia, l'output è ingombro di molti file che esistono solo in una directory, ma non nell'altra. Posso forzare diff (o usare un altro strumento) per mostrare solo file che differiscono da E esistono in entrambe le directory?Come confrontare due directory usando diff ignorando i file non esistenti?

Il comando corrente che uso è

diff -q <dir1> <dir2> 

Tutte le idee sono apprezzati.

risposta

15

esso stampa una serie di linee come

Only in dir1/blah: blah 

giusto? Quindi buttali via con grep.

LC_ALL=C diff ... | grep -v '^Only in' 

Il LC_ALL=C è quello di assicurarsi che lo standard "Solo nel" messaggio verrà stampato, non è alcuna traduzione.

-3

modo più semplice che ho trovato è quello di utilizzare:

diff -N -q <dir1> <dir2> 
+0

ho provato, ma l'opzione '-N' cambia solo "Solo" per "file sono diversi". In realtà non elimina le righe "Only in". – wisbucky

Problemi correlati