使用diff和patch指令生成文件差異和還原文件


創建一個新的文件夾test然后進入test

mkdir test

cd test

 

首先創建文件a

vim a.txt

隨便輸入一段文字后保存不退出。

稍微修改一下內容,另存為b.txt。

使用以下指令生成文件差異

diff -u a.txt b.txt > diff1.txt

這是以a為原始文件,b為目標文件

打開diff1.txt看看

白色字體代表兩個文件都一樣的,其它不一樣的額地方以-號開頭(紫色字體)代表原始文件,以+開頭(藍色字體)代表目標文件。

也可以以b為原始文件,a為目標文件。

diff -u b.txt a.txt > diff2.txt

打開diff2.txt就成了下圖這樣。

 

現在刪除掉a.txt

rm a.txt

 

使用以下指令就可以將b.txt的內容還原為a.txt的內容

patch -R b.txt < diff1.txt

或者

patch -R b.txt < diff2.txt

結果是一樣的。

 

 注:diff和patch有個缺點不能處理二進制文件,git才可以。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM