2014-03-26 22 views
0

我有一個包含類似以下行的diff文件:如何申請一個由+和一個diff - 線,沒有其他標題等

-a line to remove 
+a line to add 

有沒有頭等等所以會出現不兼容與unix補丁。是否有另一種方法來應用這個?

+0

它沒有行號?我甚至不確定它是如何在邏輯上應用的。也許它只是提供僞代碼的例子? – keltar

+0

它只是意味着刪除所有行,並用+添加行。你說得對,因爲它不是真正的上下文感知。 – jhourback

+0

如果你只有這些東西中的一個,那麼運行'sed -i's/line_to_remove/line_to_add/g'your_file'(首先備份)會更容易(注意潛在的特殊正則表達式字符) – keltar

回答

0

您可以使用:

$ diff -u oldFile newFile > mods.diff 
$ patch < mods.diff 

第一個創建貼片和第二應用它。

+0

問題是我沒有oldFile和newFile - 我只有oldFile和一個只包含+和 - 行的準補丁文件。 – jhourback

+0

我認爲你沒有辦法只用這些信息做補丁。但是你可以用grep,sed等來製作自己的腳本。 – Nivlek

相關問題