GNU/Linux >> Linux Esercitazione >  >> Linux

Non riesci a trovare il file da patchare nella riga di input 3?

Questa domanda ha già risposte qui :Come posso applicare una patch -p0 da qualsiasi directory di lavoro?

(2 risposte)
Chiuso 4 anni fa.

Ho generato una patch usando il diff comando con il numero di righe di contesto pari a 1 (-c opzione). Il mio contenuto del file di patch:

*** /home/sk/abc/def/src/klm/a.py 2015-05-18 16:25:50.348398554 +0530
--- /opt/abc/def/ghi/klm/a.py  2015-05-18 14:27:13.860503469 +0530
***************
*** 72,73 ****
--- 72,74 ----
              output, error, rCommand = "", "", ""
+             import subprocess
              rCommand = self.copyCmd % (self.executor_hostname, self.testId, self.testId)

Quando ho provato ad applicare la patch usando questi comandi,

cd /
patch -p0 < sg.patch

Ho ottenuto questo risultato,

can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|*** /home/sk/abc/def/src/klm/a.py  2015-05-18 16:25:50.348398554 +0530
|--- /opt/abc/def/ghi/klm/a.py  2015-05-18 17:10:48.368670076 +0530
--------------------------
File to patch:

Perché il comando patch non prende il nome del file nella seconda riga come file da correggere?

Risposta accettata:

Devi essere nella directory principale per applicare la patch con un percorso assoluto e applicare il -p0 opzione. Vedi anche questo post.


Linux
  1. Reindirizzamento input/output in Linux/Unix

  2. Cat Line X to Line Y su un file enorme?

  3. Trova N parole più frequenti in un file?

  4. Casella occupata Leggi file riga per riga?

  5. Trova qualsiasi riga in VI che abbia qualcosa di diverso da ATCG

Come leggere un file riga per riga in Bash

Come trovare una stringa in un file su Linux

Trova i file persi con Scalpel

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come trovare le righe più lunghe in un file in Linux

Non riesci a trovare il file registrato usando Gnome Sound Recorder?