Ich habe ein Verzeichnis mit .patch
Dateien, die mit diff generiert wurden.
Ich möchte all diese Patches mit patch -p1
auf ein anderes Verzeichnis anwenden .
Aber Patch nimmt nur eine Datei, es sei denn ich cat
.
Was wäre der Befehl, um mehrere Dateien mit xargs
oder einem ähnlichen Tool anzuwenden .
Antworten:
Wenn es
cat
funktioniert, warum nicht?Zu verwenden
find
undxargs
:Beispiel:
quelle
'network*'.patch
. Ich habe ein Beispiel hinzugefügt.find
sie in der Reihenfolge ausgegeben werden , in der sie gefunden werden. Verwendensort -z
Sie dieseAngenommen, Sie verwenden bash / sh / zsh etc ...
quelle
Akzeptierte Antwort hat bei mir nicht funktioniert, es scheint anzunehmen, dass Patch mehrere Patch-Dateien in einer Befehlszeile aufnehmen kann. Meine Lösung:
Suchen: Findet Patch-Dateien
Sortieren: Sortiert Patch-Dateien so, dass die Reihenfolge erhalten bleibt (z. B. 001 kommt vor 002)
xargs: Patch mit stdin als Argument aufrufen
quelle
Das funktioniert tatsächlich (in Bash):
quelle