Notepad++ Vergleichen Sie zwei Dateien und entfernen

Sagen, ich habe zwei Dateien. datei1.txt und file2.txt

Beide Dateien enthalten eine Liste der Schuhmarken Namen (1000 + Namen), wie folgt:

Brand1 brand2 brand3 Brand...

Jetzt-ich möchte file1 mit file2 vergleichen, alle wiederkehrenden Einträge löschen und mir nur zeigen, was in files1 nicht in file2 ist und umgekehrt.

Das Ziel mit anderen Worten ist es zu sehen, was nicht in der entgegengesetzten Datei ist, da diese Einträge manuell in ein Produkt eingegeben werden backoffice für zwei verschiedene Kategorien, damit sie am Ende übereinstimmen/gleich sind.

 13
Author: Kristian, 2013-03-07

4 answers

Würde das Plugin "Vergleichen" von Notepad++ würde den Trick tun?

Sie können es aus dem Menü von Notepad++installieren plugins=> Plugin Manager=> Vergleichen 1.5.6

Hier ist die offizielle Beschreibung: Eine sehr nützliche diff-plugin zu zeigen, den Unterschied zwischen den 2 Dateien (side by side). Autor: Ty Landercasper, jetzt gepflegt und aktualisiert von Jean-Sebastien Leroy Quelle: http://sourceforge.net/projects/npp-plugins/files/ComparePlugin/Compare_1_5_5_src.zip/download

 8
Author: Fabien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-03-07 11:40:44

Eine alte Frage, aber...

  1. Vergleichen Sie die Dateien in WinMerge
  2. Extras - > Patch generieren (speichern)
  3. Der Patch hat Änderungen von beiden, aber auch zusätzliches Markup. Führen Sie in Notepad++ die folgenden Schritte aus:

        Search Mode:  Regular Expression
        Find What:    ^[0-9-].*$
        Replace With: <blank>
        Replace All
    

    .

        Search Mode:  Regular Expression
        Find What:    (<|>)
        Replace With: <blank>
        Replace All
    
  4. Verwenden Sie das TextFX-Plugin in Notepad++, um entweder Tools - >Groß-und Kleinschreibung zu sortieren (eindeutige Ausgabeoption ausgewählt) oder Leerzeilen zu bearbeiten->zu löschen

Bit mungy, aber ich habe noch ein tool zu finden, das Ihnen diese in einem klicken.

 3
Author: James King,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-02-08 20:24:35

Zu subtract zwei Dateien in notepad++ (file1 - file2) Sie können diesem Verfahren folgen:

  1. Fügen Sie ---------------------------- als Fußzeile für Datei1 hinzu (fügen Sie mindestens 10 Bindestriche hinzu). Dies ist die Markierungslinie, die den Inhalt von Datei1 von Datei2 trennt.
  2. Kopieren Sie dann den Inhalt von Datei2 an das Ende von Datei1 (nach der Markierung)
  3. Steuerung + H
  4. Suche: (?m)^\b(.*)\R(?=[\s\S]+-{10,}$[\s\S]+^\1\R)
  5. Ersetzen durch: (leave empty)
  6. Wählen Sie Regular expression Optionsfeld
  7. Ersetzen Alle
  8. Schließlich entfernen Fußzeile und file2 Inhalt

Sie können die Markierung ändern, wenn es möglich ist, dass Datei1 / Datei2 Zeilen haben kann, die der Markierung entsprechen. In diesem Fall müssen Sie den regulären Ausdruck anpassen.

Übrigens können Sie sogar ein Makro aufzeichnen, um alle Schritte auszuführen (Marker hinzufügen, zu Datei2 wechseln, Inhalt in Datei1 kopieren, Regex anwenden und sogar die Daten nach der Teilzeichenfolge bereinigen) mit einem einzigen Tastendruck.

 1
Author: Julio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-25 15:48:17

Wenn Ihnen Unix zur Verfügung steht, können Sie diese einfachen Kombinationen einfacher Befehle ausprobieren: tr, sort und comm.

Konvertieren Sie zuerst die Datei von horizontal getrennt in vertikal getrennt:

tr '[:blank:]' '\n' < file1.txt > /tmp/file1.vertical
tr '[:blank:]' '\n' < file2.txt > /tmp/file2.vertical

Dann sortieren Sie die Dateien:

sort /tmp/file1.vertical > /tmp/file1.sorted
sort /tmp/file2.vertical > /tmp/file2.sorted

Jetzt können Sie sehen, was in Datei1 ist, das nicht in Datei2 ist

comm -23 /tmp/file1.sorted /tmp/file2.sorted

Oder sehen Sie, was in Datei2 ist, das nicht in Datei1 ist

comm -13 /tmp/file1.sorted /tmp/file2.sorted

Wenn Sie die Ausgabe im selben horizontalen Format haben möchten, mit dem Sie begonnen haben, können Sie Folgendes tun dieser:

comm -23 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
comm -13 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '

Wenn Sie fertig sind, können Sie die von Ihnen erstellten temporären Dateien löschen:

rm /tmp/file1.vertical /tmp/file2.vertical /tmp/file1.sorted /tmp/file2.sorted
 0
Author: eric,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-12-11 00:08:46