diff命令可以被要求而不同輸出的文件名。
diff --quiet --recurse --unidirectional-new-file OLDDIR NEWDIR
Files old/main and new/main differ
Files old/main.cpp and new/main.cpp differ
Files old/Makefile and new/Makefile differ
Files old/sounds/popalien.wav and new/sounds/popalien.wav differ
Files old/sounds/saucer.wav and new/sounds/saucer.wav differ
當然,這不是一個很好的輸出,但是,因爲你只在尋找新的文件打包爲一個補丁,快速SED管道工程奇蹟:
diff --quiet --recurse -unidirectional-new-file OLDDIR NEWDIR | \
sed "s/^.* and \(.*\) differ/\1/"
(打破了可讀性)圍繞 '和' 和前述
new/main
new/main.cpp
new/Makefile
new/sounds/popalien.wav
new/sounds/saucer.wav
空間 '不同'
的操作數的順序差異有所不同,第一個論點是'和',第二個是在之後。小心那個。
此外,如果您從NEWDIR中刪除文件,則不會將其作爲給定的文件找到,只會添加或更改文件。還要輸出任何一個子目錄中找不到的文件的文件名,用--new-file替換--unidirection-new-file。 (除了 - 單向以外,所有的選項都是短的)
你在尋找的只是「新」文件列表,而不是「修改」文件在newversion /? –
新文件和修改後的文件。 –