2012-10-02 70 views
0

我正在比較兩個非常大的文件系統(用於遷移),diff -qr很棒,但是現在由於用戶一直在使用新的位置文件已經發生了變化。我有一種方法可以使用diff,grep或其他任何方法來比較文件是否存在,即:忽略文件不同的事實。最新差異有很多: 只在/ dir1/myFile中 只在/ dir2/myFile中 在它中。有沒有一種簡單的方法可以使用grep僅顯示dir2中不存在的dir1中完全不存在的文件,或者使用diff執行類似的操作。獲取兩個文件樹之間不同的文件列表

回答

1

你可以使用:

tree /path/to/dir1 > out1 
tree /path/to/dir2 > out2 
diff out1 out2 | grep ">" 

但我覺得beyond compare更適合這樣的工作。

+0

對不起,我沒有提我工作在Mac上,但這個看起來不錯。我不確定這個「>」,但你給了我足夠的歡呼聲。 –

+1

我現在得到「>」。只顯示out2中的文件/行。 –

0

的一個襯墊都是偉大的,但這個bash腳本可以讓你更多的定製:可以改變-e! -e或跳過某些文件。

for f in $(find old/ -type f) ; do if [ -e "new/${f}" ] ; then echo "${f} exists" ; fi ; done

相關問題