Die Datei a.txt
enthält ungefähr 100.000 Wörter. Jedes Wort befindet sich in einer neuen Zeile
july.cpp
windows.exe
ttm.rar
document.zip
Datei b.txt
hat 150k Wörter, ein Wort für Zeile - einige Wörter stammen aus der Datei a.txt
, aber einige Wörter sind neu:
july.cpp
NOVEMBER.txt
windows.exe
ttm.rar
document.zip
diary.txt
Wie kann ich diese Dateien zu einer zusammenführen, alle doppelten Zeilen löschen und neue Zeilen beibehalten (Zeilen, die in vorhanden sind, a.txt
aber nicht vorhanden sind b.txt
, und umgekehrt)?
text-processing
Kate-Kasia
quelle
quelle
Antworten:
Hierzu gibt es einen Befehl :
comm
. Wie in angegebenman comm
, ist es ganz einfach:Beachten Sie, dass
comm
erwartet wird, dass der Dateiinhalt sortiert wird. Sie müssen ihn also sortieren, bevor Sie ihn aufrufencomm
:Um es zusammenzufassen:
Nach den obigen Befehlen haben Sie erwartete Zeilen in der
result.txt
Datei.quelle
Hier ist ein kurzes Python3-Skript, das auf Germars Antwort basiert und dies unter Beibehaltung
b.txt
der unsortierten Reihenfolge erreichen soll.quelle
quelle
Schauen Sie sich den
comm
Befehl coreutils an -man comm
So können Sie zum Beispiel tun
(Zeilen einzigartig für
b.txt
)quelle