Es gibt Situationen, in denen Sie verstreute Daten haben und diese an einer Stelle zusammenführen möchten, die als Zusammenführen bezeichnet wird. Es ist möglich, dass Sie eine einzelne Datei in mehrere Dateien aufgeteilt haben und diese nun wieder zusammenführen möchten oder dass Sie mehrere Protokolldateien haben, die Sie zu einer zusammenführen möchten. Unter Linux ist das Zusammenführen zahlreicher Textdateien zu einer einzigen Datei einfach. In diesem Artikel geht es darum, verschiedene Möglichkeiten zum Zusammenführen von Daten an einem Ort durch verschiedene Befehle auf Ubuntu 20.04, einer beliebten Linux-Distribution, zu diskutieren.
Das Zusammenführen von zwei oder mehr Datensätzen zu einem einzigen Datensatz wird als Datenzusammenführung bezeichnet. Wenn Sie Rohdaten in zahlreichen Dateien, Arbeitsmappen oder Datentabellen gespeichert haben, die Sie alle gleichzeitig analysieren möchten, ist dieser Ansatz normalerweise erforderlich. In diesem Artikel verwenden wir die Befehle „cat“, „sed“ und „merge“, um Daten unter Ubuntu (Linux OS) zusammenzuführen.
Daten unter Linux zusammenführen
Einige Verfahren werden unten erwähnt, um Daten mit einigen Befehlen unter Ubuntu zusammenzuführen:
- Daten mit cat-Befehl zusammenführen
- Daten mit dem Befehl sed zusammenführen
- Daten mit dem Merge-Befehl zusammenführen
- Daten mit „For-Schleife“ zusammenführen
Daten mit dem Cat-Befehl zusammenführen
Die Katze steht für verketten; Es ist in neuen Ubuntu-Versionen vorinstalliert, aber wenn Sie eine ältere Version verwenden, müssen Sie es installieren. Es ist ein häufig verwendeter Befehl, der alle Daten aus einer Datei liest und deren Inhalt auf dem Terminalbildschirm ausgibt. Es ermöglicht uns, Dateien zu generieren, anzuzeigen und zu kombinieren. Wenn Sie den cat-Befehl verwenden, um den Inhalt riesiger Textdateien auf dem Terminal anzuzeigen, wird Ihr Terminal durcheinander gebracht und die Navigation erschwert.
Ausgabe
Der unten erwähnte Befehl führt die Daten von „linux1“ und „linux2“ zusammen und zeigt sie auf dem Bildschirm in der gleichen Reihenfolge an, in der die Dateinamen platziert werden.
$ cat linux1.txt linux2.txt |
Daten zusammenführen und in einer Datei speichern
Jetzt können wir auch Daten aus mehreren Dateien zusammenführen und mit dem cat-Befehl und dem Umleitungsoperator „>“ in einer anderen Datei speichern. Der unten erwähnte Befehl wird Daten von „linux1“ und „linux2“ zusammenführen und sie unter Verwendung des cat-Befehls in „merged_linux“ speichern.
$ cat linux1.txt linux2.txt > merged_linux.txt |
Wenn die Datei nicht existiert, erstellt der cat-Befehl sie zuerst. Anstatt am Ende hinzuzufügen, überschreibt der einfache Umleitungsoperator die Datei, Sie müssen einen doppelten Umleitungsoperator verwenden, wenn Sie neuen Text am Ende der Datei anhängen möchten, ohne ihn zu überschreiben.
Ausgabe:
Daten mit Sed-Befehl zusammenführen
In Linux wird der vorinstallierte SED-Befehl als Stream-Editor abgekürzt, aber wenn er nicht installiert ist, können Sie ihn installieren und eine Vielzahl von Dateioperationen wie Suchen, Finden und Ersetzen, Einfügen und Löschen ausführen. Der SED-Befehl ist ein beliebter Linux-Befehl, der zum Ersetzen oder zum Suchen und Ersetzen verwendet wird. Sie können Dateien ändern, ohne sie mit SED zu öffnen, was eine viel schnellere Möglichkeit ist, alles in einer Datei zu finden und zu ersetzen, als sie zuerst im VI-Editor zu öffnen und dann zu ändern.
Der Befehl sed, der normalerweise zur Textbearbeitung und -transformation verwendet wird, kann zum Zusammenführen von Dateien/Daten verwendet werden. „>“. Der unten erwähnte Befehl führt Daten von „linux1“ und „linux2“ zusammen und speichert sie in „merged_linux“ mit dem Befehl sed und dem Umleitungsoperator „>“.
$ sed h linux1.txt linux2.txt > merged_linux1.txt |
Ausgabe:
Daten mit dem Zusammenführungsbefehl zusammenführen
Der Merge-Befehl führt auch die Daten zweier Dateien zusammen und speichert sie in einer neuen Datei, aber er funktioniert anders als jeder andere Merge-Befehl. Merge vergleicht drei Dateien, ein Original und zwei geänderte Versionen des Originals, Zeile für Zeile, um Konflikte zwischen den beiden Änderungssätzen auszugleichen, um eine einzelne, kombinierte Datei zu erstellen, die die Änderungen beider Dateien darstellt. Der „Merge“-Befehl ist nicht vorinstalliert, Sie müssen ihn mit dem unten aufgeführten Befehl installieren:
$ sudo apt install rcs |
Der unten erwähnte Befehl wird linux1.txt und linux2.txt mit dem Merge-Befehl in „merged_linux.txt“ zusammenführen.
$ merge merge_linux2.txt linux1.txt linux2.txt |
Die linux1.txt und linux2.txt sind zwei Dateien, die verschiedene Teile in „merge_linux2.txt“ zusammenführen, Sie müssen zuerst „merge_linux2.txt“ erstellen.
Ausgabe
Es besteht ein Konflikt zwischen „<<<<<<<“ und „>>>>>>>“.
Daten mit „For-Schleife“ zusammenführen
Die „for-Schleife“ kann die explizite Angabe der Dateinamen überflüssig machen. Dies funktioniert nur, wenn die Dateinamen konsistent sind. In unserer Situation sind die Dateinamen wie folgt formatiert:linux{1,2}.txt
Der unten erwähnte Befehl führt Daten von „linux1“ und „linux2“ zusammen und speichert sie in „merged_linux“ unter Verwendung der for-Schleife und des Umleitungsoperators „>“.
$ for i in {1,2}; do cat “linux$i.txt” >> merged_linux3.txt; done |
Ausgabe:
Schlussfolgerung
Manchmal möchten Sie, dass verschiedene Arten von Daten an verschiedenen Orten an einem Ort gespeichert werden. Dazu müssen Sie die Daten unter Linux auf verschiedene Weise zusammenführen. In diesem Artikel haben wir vier Möglichkeiten zum Zusammenführen von Daten auf Ubuntu mit den Befehlen cat, sed und merge sowie der for-Schleife im Detail besprochen. Sie können jedem der Ansätze folgen, die Ihnen leicht erscheinen.