我需要一種自動方式將一行添加到配置文件。我用diff
創建了一個.diff文件,我想用patch
來申請。但是,可能發生的情況是,我需要修補的文件在其他地方稍有修改。例如。在配置文件的其他地方添加了一些其他行。補丁對diff文件過於嚴格
我認爲patch
實際上對此會很聰明,並確定該補丁是否仍然可以無衝突地應用,但是當我嘗試將補丁應用於配置文件時出現錯誤,該配置文件與原始文件。
是否有任何額外的標記需要傳遞給patch
或diff
以使其不那麼嚴格?我生成使用
diff -ruN oldfile.conf newfile.conf > mypatch.diff
然後是爲.diff文件應用於使用
patch myconfig.conf mypatch.diff
我想的是,patch將嘗試相當寬鬆應用補丁的補丁程序,如果它不知道如何,只是返回一個警告,但不是一個錯誤。目前,我看到這些錯誤:
[email protected]:~/Desktop$ diff -ruN default.conf default_new.conf > mypatch.diff
[email protected]:~/Desktop$ patch default2.conf mypatch.diff
patching file default2.conf
Hunk #1 FAILED at 28.
1 out of 1 hunk FAILED -- saving rejects to file default2.conf.rej
[email protected]:~/Desktop$
你實際得到了什麼錯誤? – ravi
Hunk#1 FAILED at ... – Jeroen
如果你只想添加一行,爲什麼不寫一個簡單的腳本來添加一行? – m0skit0