Notepad ++ Zwei Dateien vergleichen und entfernen

12

Angenommen, ich habe zwei Dateien. file1.txt und file2.txt

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

brand1 brand2 brand3 brand ...

Jetzt - Ich möchte Datei1 mit Datei2 vergleichen, alle wiederkehrenden Einträge löschen und nur anzeigen, was in Dateien1 nicht in Datei2 ist und umgekehrt.

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

Kristian
quelle
2
IMO wäre dies in Excel viel einfacher, wenn Sie alle Ihre Daten in Excel kopieren oder die TXTs als CSVs speichern könnten. Es kann leicht Duplikate sortieren, entfernen und ich bin sicher, dass ein Spaltenvergleich auch nicht schwer durchzuführen ist.
Karan
Der folgende Link kann nützlich sein: superuser.com/a/290445
akjain

Antworten:

7

Würde das Plugin "Compare" von Notepad ++ den Trick machen?

Sie können es über das Menü der Notepad ++ Plugins installieren => Plugin Manager => Compare 1.5.6

Hier ist die offizielle Beschreibung: Ein sehr nützliches Diff-Plugin, um den Unterschied zwischen 2 Dateien (nebeneinander) zu zeigen. 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

Fabien
quelle
2
Leider glaube ich nicht. Das Vergleichs-Plugin hebt lediglich die Unterschiede zwischen zwei Dateien hervor, bietet jedoch keine Tools, um basierend auf den Ergebnissen Auswahlen oder Änderungen vorzunehmen. Ich fürchte, die Aufgabe ist für mehr als tausend Markennamen immer noch sehr langwierig, auch wenn sie sicherlich hilfreich ist.
Marcks Thomas
3

Eine alte Frage, aber ...

  1. Vergleichen Sie die Dateien in WinMerge
  2. Extras -> Patch generieren (speichern)
  3. Der Patch hat sowohl Änderungen als auch zusätzliche Markups. Führen Sie im Editor ++ die folgenden Ersetzungen durch:

        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 ++, und führen Sie entweder eine Sortierung durch, bei der die Groß- und Kleinschreibung nicht beachtet wird (Option UNIQUE ausgeben ausgewählt), oder Bearbeiten-> Leerzeilen löschen

Etwas mungy, aber ich habe noch kein Tool gefunden, das dies mit einem Klick erledigt.

James King
quelle
0

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

Konvertieren Sie zunächst die Datei von horizontal in vertikal getrennt:

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

Dann sortiere 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 und was nicht in Datei2

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 möchten, dass die Ausgabe im selben Querformat erfolgt, mit dem Sie begonnen haben, können Sie dies tun:

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
Eric
quelle