Dies ist der Befehl filterdiff, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
filterdiff – Diffs aus einer Diff-Datei extrahieren oder ausschließen
ZUSAMMENFASSUNG
Filterdiff [[-ich MUSTER] | [--include=MUSTER]] [[-ICH FILE] | [--include-from-file=FILE]]
[[-P n] | [--strip-match=n]] [--strip=n] [--addprefix=PRÄFIX]
[--addoldprefix=PRÄFIX] [--addnewprefix=PRÄFIX] [[-X MUSTER] |
[--exclude=MUSTER]] [[-X FILE] | [--exclude-from-file=FILE]] [[-v] |
[--verbose]] [--clean] [[-z] | [--decompress]] [[-# REICHWEITE] | [--hunks=REICHWEITE]]
[--lines=REICHWEITE] [[-FREICHWEITE] | [--Dateien=REICHWEITE]] [--annotate] [--format=FORMAT]
[--as-numbered-lines=WENN] [--remove-timestamps] [Datei...]
Filterdiff {[--help] | [--version] | [--list] | [--grep ...]}
BESCHREIBUNG
Sie können filterdiff verwenden, um einen Patch zu erhalten, der auf Dateien angewendet wird, die dem Shell-Platzhalter entsprechen
MUSTER aus einer größeren Sammlung von Patches. Zum Beispiel, um die Patches in zu sehen
patch-2.4.3.gz, die für alle Dateien mit dem Namen lp.c gelten:
filterdiff -z -i '*/lp.c' patch-2.4.3.gz
Wenn weder -i noch -x Optionen sind gegeben, -i '*' wird angenommen. Hier entlang Filterdiff kann verwendet werden
um eine vorhandene Diff-Datei zu bereinigen und überflüssige Zeilen vom Anfang zu entfernen (z. B. die
Text aus dem E-Mail-Text) oder zwischen den Blöcken (z. B. in CVS-Diffs). Reines Pflaster extrahieren
Daten verwenden Sie einen Befehl wie diesen:
filterdiff message-with-diff-in-the-body > Patch
Beachten Sie, dass bei der Interpretation des Shell-Platzhaltermusters keine Schrägstriche berücksichtigt werden
oder Punkte als speziell (mit anderen Worten, es werden keine Flags vergeben). fnmatch). Das ist so
Muster vom Typ „*/basename“ können angegeben werden, ohne die Anzahl der Pfadnamen zu begrenzen
Komponenten.
Sie können mit diesem Programm sowohl Unified- als auch Kontextformat-Diffs verwenden.
OPTIONAL
-i MUSTER, --include=MUSTER
Schließen Sie nur übereinstimmende Dateien ein MUSTER. Alle anderen Zeilen in der Eingabe werden unterdrückt.
-I FILE, --include-from-file=FILE
Nur Dateien einschließen, die einem der in aufgeführten Muster entsprechen FILE, ein Muster pro Zeile. Alle
andere Zeilen in der Eingabe werden unterdrückt.
-x MUSTER, --ausschließen=MUSTER
Übereinstimmende Dateien ausschließen MUSTER. Alle anderen Zeilen in der Eingabe werden angezeigt.
-X FILE, --exclude-from-file=FILE
Schließen Sie Dateien aus, die einem der in aufgeführten Muster entsprechen FILE, ein Muster pro Zeile. Alle anderen
Zeilen in der Eingabe werden angezeigt.
-p n, --strip-match=n
Ignoriere beim Abgleich den ersten n Bestandteile des Pfadnamens.
-# REICHWEITE, - Hunks=REICHWEITE
Füge nur Hunks innerhalb der angegebenen ein REICHWEITE. Hunks sind ab 1 nummeriert und die
Bereich ist eine durch Kommas getrennte Liste von Zahlen oder „erste-letzte“ Spannen, optional
davor ein Modifikator 'x', der den gesamten Bereich invertiert; entweder der erste oder der
Letzte in der Spanne kann weggelassen werden, um keine Begrenzung in dieser Richtung anzuzeigen.
--Linien=REICHWEITE
Schließen Sie nur Teile ein, die Zeilen aus der Originaldatei enthalten, die innerhalb der liegen
angegeben REICHWEITE. Die Zeilen sind ab 1 nummeriert und der Bereich ist eine durch Kommas getrennte Liste von
Zahlen oder „erste-letzte“ Spannen, optional vorangestellt von einem Modifikator 'x', der invertiert
das gesamte Sortiment; entweder der erste oder der letzte in der Spanne kann weggelassen werden, um anzuzeigen
keine Grenze in diese Richtung.
-F=REICHWEITE, --Dateien=REICHWEITE
Schließen Sie nur Dateien ein, die durch das angegebene gekennzeichnet sind REICHWEITE. Die Dateien sind von 1 in der nummeriert
Reihenfolge, in der sie in der Patch-Eingabe erscheinen, und der Bereich ist eine durch Kommas getrennte Liste von
Zahlen oder „erste-letzte“ Spannen, optional vorangestellt von einem Modifikator 'x', der invertiert
das gesamte Sortiment; entweder der erste oder der letzte in der Spanne kann weggelassen werden, um anzuzeigen
keine Grenze in diese Richtung.
--kommentieren
Kommentieren Sie jeden Hunk mit dem Dateinamen und der Hunk-Nummer.
--Format=vereinheitlicht|kontext
Verwenden Sie das angegebene Ausgabeformat.
--Streifen=n
Entfernen Sie die erste n Komponenten von Pfadnamen in der Ausgabe.
--addprefix=PRÄFIX
Pfadnamen in der Ausgabe mit voranstellen PRÄFIX. Dadurch werden alle individuellen Einstellungen überschrieben
angegeben mit dem --addoldprefix or --addnewprefix Optionen.
--addoldprefix=PRÄFIX
Präfix Pfadnamen für alte oder Originaldateien in der Ausgabe durch PRÄFIX.
--addnewprefix=PRÄFIX
Präfix Pfadnamen für aktualisierte oder neue Dateien in der Ausgabe durch PRÄFIX.
--wie-nummerierte-Zeilen=vorher|nachher
Zeigen Sie anstelle eines Patch-Fragments die Zeilen der ausgewählten Hunks mit der Zeile an
Nummer der Datei vor (oder nach) der Anwendung des Patches, gefolgt von einem TAB-Zeichen
und einen Doppelpunkt am Anfang jeder Zeile. Jeder Brocken außer dem ersten hat a
Zeile bestehend aus „...“ davor.
--remove-timestamps
Fügen Sie keine Dateizeitstempel in die Ausgabe ein.
-v, - ausführlich
In der Ausgabe immer Nicht-Diff-Linien anzeigen. Standardmäßig werden nur Nicht-Diff-Linien angezeigt
beim Ausschließen eines Dateinamenmusters.
--sauber
Entfernen Sie immer alle Nicht-Diff-Leitungen aus der Ausgabe. Auch wenn ein Dateiname ausgeschlossen wird
Muster.
-z, --dekomprimieren
Dekomprimieren Sie Dateien mit den Erweiterungen .gz und .bz2.
--help
Zeigen Sie eine kurze Nutzungsnachricht an.
--Version
Zeigt die Versionsnummer von filterdiff an.
--aufführen
Benehmen wie lsdiff(1) statt.
--grep
Benehmen wie grepdiff(1) statt.
Beispiele:
So sehen Sie alle Patch-Hunks, die die ersten fünf Zeilen einer C-Datei betreffen:
filterdiff -i '*.c' --lines=-5 < Patch
Um den ersten Teil jedes Datei-Patches anzuzeigen, verwenden Sie:
filterdiff -#1 Patchdatei
Um Patches anzuzeigen, die eine ChangeLog-Datei in einem Unterverzeichnis ändern, verwenden Sie:
filterdiff -p1 Änderungsprotokoll
Um die vollständigen Patches für jeden Patch anzuzeigen, der Zeile 1 der Originaldatei ändert, verwenden Sie:
filterdiff --lines=1 Patchdatei | lsdiff | \
xargs -rn1 filterdiff patchfile -i
Um alle bis auf den ersten Teil eines bestimmten Patches anzuzeigen, können Sie Folgendes verwenden:
filterdiff -p1 -i file.c -#2- foo-patch
Wenn Sie eine ganz bestimmte Liste von Hunks in einem Patch haben, die Sie sehen möchten, listen Sie diese auf:
Filterdiff -#1,2,5-8,10,12,27-
Um die Zeilen der Dateien anzuzeigen, die gepatcht werden würden, wie sie nach dem Patch erscheinen werden
angewendet, verwenden:
filterdiff --as-numbered-lines=after patch.file
Sie können den gleichen Kontext sehen, bevor der Patch angewendet wird mit:
filterdiff --as-numbered-lines=before
patch.datei
Filterdiff kann auch zum Konvertieren zwischen Unified- und Kontextformat-Diffs verwendet werden:
filterdiff -v --format=unified context.diff
Verwenden Sie filterdiff online über die Dienste von onworks.net