Was ist der CAT-Befehl unter Linux und wie wird er verwendet?
Der Befehl cat ist die grundlegendste Methode von Linux, Dateien miteinander zu kombinieren. Es ist die Abkürzung für conCATenation, aber dahinter steckt mehr als nur das Kopieren und Einfügen einer Datei neben der anderen.
Grundformat für den CAT-Befehl
Normalerweise verwenden Sie den Befehl cat wie folgt:
cat Datei1 Datei2 Datei3 > AusgabeDie Reihenfolge zum Anhängen von Dateien nebeneinander basiert auf der Reihenfolge, in der Sie die Dateien im Befehl geschrieben haben. Wenn Sie in diesem Beispiel die Datei „Ausgabe“ öffnen, folgt auf den Inhalt von „Datei1“ „Datei2“, dann „Datei3“ usw.
Sie können so viele Dateien hinzufügen, wie Sie möchten, solange Ihr Dateisystem die letztendliche Größe der Ausgabe unterstützt.
Außerdem müssen Sie, wie bei allen Linux-Terminalbefehlen, beim Hinzufügen die Dateierweiterung angeben. Wenn Sie beispielsweise mit JSON-Dateien arbeiten und zwei davon kombinieren möchten, müssen Sie sie wie folgt eingeben Das:
[enlazatom_show_links]cat file1.json file2.json > Combined_file.jsonCAT ohne den Ausgabeteil
Für cat ist der Ausgabeteil optional. Durch das Entfernen dieses Teils wird der Inhalt jeder Datei im Terminal ausgedruckt.
Sie können dies auch für einzelne Dateien tun. Bedenken Sie, dass Sie den Inhalt hier nicht wie bei DOC- oder TXT-Dateien in einem Texteditor bearbeiten können. Der Befehl cat ähnelt eher einem Textdatei-Viewer als einem Editor.
CAT-Befehlsflags
Es gibt sechs Flags, die Sie verwenden können, wann immer Sie CAT unter Linux verwenden:
- -n zählt jede Zeile beginnend bei 1 auf.
- -b zählt nur die Zeilen auf, die Zeichen enthalten.
- -s quetscht mehrere aufeinanderfolgende Leerzeilen in eine Leerzeile zusammen.
- -e markiert das Ende jeder Zeile.
- -q zeigt keine Meldung an, wenn CAT keine Eingabedatei finden kann.
- -t zeigt Tabulatorzeichen als ^I an.
Wir gehen durch, wie die einzelnen Funktionen funktionieren und wie Sie sie verwenden können.
Verwenden des Flags -n
Das Flag -n zählt den Inhalt einer Datei pro Zeile auf und gibt ihn auf dem Terminal aus. Die Datei selbst wird nicht bearbeitet.
Sie können die Ausgabe (mit Aufzählung) jedoch trotzdem speichern, indem Sie Folgendes tun:
cat -n Datei1.txt > Datei2.txtDadurch wird der Inhalt von „file1.txt“ aufgelistet und in „file2.txt“ gespeichert.
Sie können auch mehrere Dateien zusammen auflisten. Der Befehl cat zählt nach dem Ende der ersten Datei weiter. Wenn die erste Datei mit 33 endet, beginnt die nächste Datei mit 34 und so weiter.
Tipp: Sie können auch den Befehl diff verwenden, um zunächst den Unterschied zwischen Dateien zu ermitteln, bevor Sie sie zusammenfügen.
Verwendung des Flags -b
Das Problem mit dem Flag -n besteht darin, dass es auch leere Zeilen aufzählt. Wenn Sie eine Datei mit viel Leerraum für das Layout oder die Lesbarkeit haben, benötigen Sie stattdessen das Flag -b.
Das Format des Flags -b funktioniert genauso wie das des Flags -n. Wenn Sie beide zusammen verwenden, überschreibt das Flag -b außerdem das Flag -n, unabhängig davon, wie Sie sie bestellen.
Verwendung des Flags -s
Das Flag -s ist ein weiteres praktisches Cat-Befehlsflag, wenn in Ihren Dateien viel Leerraum vorhanden ist. Dabei werden alle sich wiederholenden Leerzeichen auf ein einziges reduziert, was die Lesbarkeit erleichtert.
Dieses Flag sucht nach mindestens zwei aufeinanderfolgenden Leerzeilen, bevor es diese zusammenführt. Wenn Ihre Datei zwischen zwei gefüllten Zeilen eine einzelne Leerzeile enthält, wird diese übersprungen und nach der nächsten gesucht.
Verwendung des Flags -e
Das Flag -e findet das Ende jeder Zeile und fügt am Ende jeder Zeile ein $ hinzu.
Dieses Flag erleichtert die Arbeit mit Ihren Textdateien, wenn Sie reguläre Ausdrücke oder Regex verwenden. Sie können ein zusätzliches Skript oder Programm den Inhalt der gespeicherten Datei lesen lassen und die Enden mithilfe von Regex überprüfen.
Denken Sie daran, dass das Flag -e am Ende jeder leeren Zeile auch ein $ hinzufügt. Sie können es also zusammen mit -s verwenden, damit alles übersichtlicher aussieht.
Verwendung des Flags -t
Das Flag -t ähnelt dem Flag -e, sucht jedoch stattdessen nach dem „Tabulatorzeichen“ und ersetzt es durch ein ^I. Das Tolle an dieser Flagge ist, dass sie „Tab“ vom „doppelten Leerzeichen“ unterscheiden kann.
cat -t Datei1.txt > Datei2.txtDas heißt, wenn Sie die Flags -n oder -b neben dem Flag -t verwenden, werden die Leerzeichen so gelesen, wie sie sind, und belassen. Das Gleiche gilt, wenn Sie eine Menge Leerzeichen hinzufügen, um ein „Tabulator“-Zeichen nachzuahmen.
Verwendung von Linux-CAT-Befehlen
Der Befehl cat sollte nur verwendet werden, wenn Sie versuchen, Textdateien Zeile für Zeile zu kombinieren. Erwarten Sie nicht, dass der Befehl cat zwei Textzeilen zu einer einzigen Zeile zusammenfügt.
Andererseits wird dies häufig von Nutzen sein, wenn Sie versuchen, Textdateien zu bereinigen, damit andere Skripts daran arbeiten können. Die Flags -e, -t, -b und -s sind alle nützlich genug, um Ihnen Zeit beim Codieren Ihres eigenen Skripts für das zu ersparen, was diese Flags bereits tun.
Es erleichtert auch die Anzeige von Textdateien, anstatt ständig den Nano-Editor verwenden zu müssen.
Wenn Sie jedoch versuchen, etwas zu tun, wofür es nicht gedacht ist, ist es möglicherweise an der Zeit, einen Blick auf andere Möglichkeiten zum Verketten von Dateien unter Linux zu werfen.
Häufig gestellte Fragen
Was passiert, wenn ich den CAT-Befehl für eine Videodatei verwende?
Videodateien enthalten einen sogenannten „Header“. Dies ist eine Information, die zeigt, wie das Video kodiert wurde. Wenn Sie den CAT-Befehl zum Verketten von Videos verwenden, erhalten Sie eines, bei dem Header-Informationen zwischen den codierten Videodaten liegen. Die meisten Zuschauer werden dies lesen und denken, dass Ihre Datei beschädigt ist. Verwenden Sie besser ein anderes Tool wie FFmpeg um dies mit Videodateien zu tun.
Kann ich den Linux-CAT-Befehl mit Dateien aus verschiedenen Ordnern verwenden?
Sie können Ihre Dateinamen als Ordnerpfade behandeln, wenn Sie Dateien mit dem Befehl cat in Ordnern zusammenfassen. Auf diese Weise können Sie eine Datei in Desktop mit einer anderen aus Fotos kombinieren, indem Sie folgendermaßen vorgehen: cat Desktop/file1.txt Photos/Photos.txt >> Output.txt.
Was passiert, wenn ich den Dateinamen einer vorhandenen Datei als Ausgabe für den CAT-Befehl verwende?
Je nachdem, ob Sie > oder >> verwenden, wird der Inhalt entweder überschrieben oder an die vorhandene Datei angehängt. Der Befehl >> hängt an eine Datei an oder erstellt die Datei, wenn sie nicht vorhanden ist. Der Befehl > überschreibt die Datei, wenn sie existiert, oder erstellt sie, wenn sie nicht existiert.
Um Rätselraten zu vermeiden, ist es immer am besten, die Ausgabe in einer nicht vorhandenen Datei mit einem eindeutigen Dateinamen zu speichern.
Schreibe einen Kommentar