7 Möglichkeiten, unter Linux Text an eine Datei anzuhängen

0
2

Schnelllinks

  • Erstellen Sie zuerst eine Textdatei!
  • Echo verwenden, um Text an eine Datei anzuhängen
  • Verwenden von cat, um Text an eine Datei anzuhängen
  • Verwenden von printf, um Text am Ende einer Datei hinzuzufügen eine Datei
  • Verwenden von sed
  • Verwenden von tee zum Anhängen von Text an eine Datei
  • Verwenden von awk
  • Verwenden eines Texteditors zum Anhängen von Text
  • So leiten Sie die um Ausgabe eines Befehls in eine Datei
  • So hängen Sie Standardausgabe und Standardfehler an eine Datei an
  • Eine bessere Linux-Dateimanipulationserfahrung

Es gibt Zeiten, in denen Sie eine Textdatei mit vorhandenem Inhalt haben und etwas mehr Text daran anhängen müssen. Glücklicherweise gibt es mehrere Linux-Befehle, die Sie dafür verwenden können. Einige dieser Befehle sind sogar leistungsstark genug, um Text an einer beliebigen Stelle in Ihrer Datei einzufügen.

Erstellen Sie zuerst eine Textdatei!

Um dem Tutorial folgen zu können, sollten Sie eine Testdatei bereithalten, in der Sie Zeilen anhängen und das Ergebnis sehen können. Um unter Linux eine leere Datei zu erstellen, führen Sie den folgenden Befehl aus:

touch <filename>

Ersetzen Sie <Dateiname> mit dem Namen der Datei. Wir werden es beispielsweise append.txt nennen. Wir können die Datei mit diesem Befehl erstellen:

touch append.txt

Um den Inhalt der Datei anzuzeigen, Führen Sie Folgendes aus:

cat append.txt

Sie erhalten keine Ausgabe, da derzeit kein Inhalt in der Datei vorhanden ist. Da wir nun eine leere Datei haben, können wir ihr einige Zeilen hinzufügen.

1. Echo verwenden, um Text an eine Datei anzuhängen

Der Echo-Befehl wird hauptsächlich zum Anzeigen von Text auf dem Terminal verwendet, Sie können ihn jedoch auch zum Hinzufügen von Text zu einer Datei verwenden. Hier ist die grundlegende Syntax:

echo [OPTION] [STRING]

Um den echo-Befehl zum Hinzufügen von Zeilen zu einer Datei zu verwenden, benötigen Sie etwas Hilfe vom Umleitungsoperator (>). Um Textzeilen mit dem echo-Befehl zu einer Datei hinzuzufügen, führen Sie Folgendes aus:

echo "string" > Dateiname

Ersetzen Sie „string“ durch mit tatsächlichem Text in den doppelten Anführungszeichen. Machen Sie dasselbe für „Dateiname“. Wenn Sie beispielsweise den Text „Dies ist eine Datei“ hinzufügen möchten, Führen Sie zum Anhängen von.txt Folgendes aus:

echo "Dies ist eine Datei" > append.txt

Wenn Sie nun versuchen, den Dateiinhalt mit dem Befehl cat zu lesen, sollte die Zeile in der Ausgabe erscheinen.

Mit einem einzelnen Umleitungsoperator (>) ist dies jedoch nicht möglich um Zeilen an die Datei anzuhängen. Wenn Sie versuchen, mit demselben Befehl eine weitere Zeile zur obigen Datei hinzuzufügen, wird der vorhandene Inhalt der Datei überschrieben. Sehen wir uns das in Aktion an. Führen Sie den folgenden Befehl aus:

echo "Versuche, eine Zeile an die Datei anzuhängen" > append.txt

Wie kann man das also überwinden? Einfach. Um Text an eine Datei anzuhängen, ohne deren Inhalt zu überschreiben, verwenden Sie einen anderen Umleitungsoperator (>>) wie diesen:

echo "Es wird versucht, eine Zeile an die Datei anzuhängen" >> append.txt

< strong class="an-zone-tag-top ad-zone-advertising-tag">

Dieses Mal wird die Zeile wie erwartet an die Datei angehängt.

2. Verwenden von cat zum Anhängen von Text an eine Datei

Der Befehl cat, wie wir Wie Sie bereits gesehen haben, wird der Inhalt einer Datei auf dem Terminal angezeigt. Die grundlegende Syntax des Befehls lautet:

cat [OPTION]… [FILE]…

Im Gegensatz zum echo-Befehl kann der cat-Befehl keine Zeichenfolgen direkt als Parameter verwenden. Stattdessen können Sie den Inhalt einer Datei an eine andere anhängen. Verwenden Sie dazu den Befehl wie folgt:

cat file1 >> Datei2

Ersetzen Sie „Datei1“ durch und "Datei2" mit den tatsächlichen Dateinamen. In unserem vorherigen Beispiel könnten wir also den Inhalt einer anderen Datei an die Datei append.txt anhängen, indem wir Folgendes verwenden:

cat anotherfile.txt >> append.txt

< p>Eine weitere gute Möglichkeit, den Befehl cat zu verwenden, besteht darin, den Inhalt mehrerer Dateien in einer einzigen Datei zu verketten. Geben Sie dazu die Dateinamen als Argumente an, etwa so:

cat file1 file2 file3 >> file4

Angenommen, Sie haben drei verschiedene Textdateien, die die Informationen von drei verschiedenen Mitarbeitern enthalten. Sie müssen sie in einer einzigen Datei zusammenfassen. Führen Sie dazu Folgendes aus:

cat mitarbeiter1.txt mitarbeiter2.txt mitarbeiter3.txt >> Mitarbeiter.txt

< h2 id="using-printf-to-add-text-at-the-end-of-a-file"> 3. Verwenden von printf zum Hinzufügen von Text am Ende einer Datei

Möglicherweise sind Sie mit printf vertraut, wenn Sie Erfahrung mit der Programmiersprache C haben. Aber wussten Sie, dass printf auch ein Linux-Tool ist? Wie der Name schon sagt, können Sie damit Text oder Daten auf der Standardausgabe drucken. Hier ist die grundlegende Syntax:

printf FORMAT [ARGUMENT]…

Um Text mit printf an eine Datei anzuhängen, führen Sie Folgendes aus:

printf „Mit printf Text anhängen“ >> append.txt

Wie Sie jedoch sehen können, wurde im Gegensatz zum Echo-Befehl keine neue Zeile an den Text angehängt. Das bedeutet, dass Sie dies manuell tun müssen. Sie können das "n" Escape-Zeichen am Ende Ihres Textes. Also lasst uns das jetzt nutzen.

printf "Printf verwenden, um Text mit einer neuen Zeile anzuhängenn" >> append.txt

< p> Diesmal befindet sich die Terminal-Eingabeaufforderung im Gegensatz zum vorherigen Fall in einer neuen Zeile.

4. Verwendung von sed

Der Befehl sed, kurz für Stream Editor, führt eine grundlegende Texttransformation für Eingaben durch. Es gibt mehrere Möglichkeiten, diesen Befehl zu verwenden. Die grundlegende Syntax zum Anhängen von Text an Dateien sieht etwa so aus:

sed [OPTION] [SCRIPT] [FILE…]

Sehen wir uns nun an, wie Sie können einer Datei eine Zeile anhängen. Befolgen Sie dazu das folgende Befehlsformat:

sed -i '$ a<Text zum Anhängen>' <Dateiname>

Ersetzen Sie den Text in den spitzen Klammern (<>) durch die Textzeichenfolge bzw. Ihren Dateinamen. Wenn Sie also eine Zeile am Ende der Datei anhängen möchten, führen Sie Folgendes aus:

sed -i '$ a Fühlen Sie sich nicht sed' append.txt

< p>Das „-i“ Die Option teilt dem System mit, dass es die betreffende Datei zum Einfügen des Textes verwenden wird. Das "$" Zeichen bedeutet, dass die Zeile am Ende der Datei hinzugefügt wird. Durch Hinzufügen des „a“ vor unserem Text teilt dem System mit, dass die Zeile an den vorhandenen Inhalt der Datei angehängt werden soll.

Eine gute Sache am sed-Befehl ist, dass Sie an einer beliebigen Stelle in der Datei Text hinzufügen können. Wenn Sie also beispielsweise nach der vierten Zeile etwas hinzufügen möchten, verwenden Sie den Befehl wie folgt:

sed -i '4 a Angehängt nach der vierten Zeile' append.txt

< p> Diesmal wurde die Zeile genau nach der vierten Zeile hinzugefügt.

5. Verwenden von tee zum Anhängen von Text an eine Datei

Mit dem Befehl tee können Sie aus der Standardeingabe lesen und die Ausgabe in Dateien schreiben. Die grundlegende Syntax lautet wie folgt:

tee [OPTION]… [DATEI]…

Es gibt zwei Möglichkeiten, mit dem Befehl tee Text an eine Datei anzuhängen. Verwenden Sie entweder das "-a" Option oder der doppelte Umleitungsoperator. Werfen wir einen Blick auf die erste Methode.

tee -a append.txt

Nachdem Sie den Befehl ausgeführt haben, gelangen Sie in den interaktiven Modus. Sie können einen beliebigen Text schreiben und die Eingabetaste drücken, um ihn an die Datei anzuhängen. Anschließend sehen Sie den gleichen Text wie auf dem Terminal ausgegeben. Um die Eingabeaufforderung zu verlassen, drücken Sie Strg+D.

Bei der anderen Methode wiederholt das Terminal die von Ihnen eingegebene Zeichenfolge nicht, wodurch der Vorgang viel sauberer wird. Ansonsten funktioniert es genauso. Hier ist der Befehl:

T-Stück >> append.txt

< p> Wie Sie sehen können, wurde eine von uns eingegebene Zeichenfolge nicht erneut im Terminal angezeigt.

6. Verwendung von awk

Der awk-Befehl ist äußerst leistungsfähig, wenn es um Textmanipulation geht. Mit einigen Anpassungen können Sie mit diesem Befehl Text zu Dateien hinzufügen. Hier ist die Syntax für den Befehl:

awk 'BEGIN{print „Ich fühle mich unwohl“}' >> append.txt

Im obigen Beispiel haben wir die BEGIN-Regel des awk-Befehls verwendet, um Text zu drucken und ihn mithilfe der Umleitungsoperatoren an unsere Zieldatei zu senden.

7. Verwenden eines Texteditors zum Anhängen von Text

Dies ist ziemlich einfach. Wenn Sie Befehle nicht gerne verwenden oder Schwierigkeiten haben, sich die Syntax zu merken, können Sie einfach einen beliebigen Linux-Texteditor verwenden, um Zeilen an eine Textdatei anzuhängen. Für dieses Tutorial verwenden wir den Nano-Texteditor.

Um eine Datei in Nano zu öffnen, verwenden Sie den folgenden Befehl:

nano <filename>

Denken Sie daran, <filename> zu ersetzen. mit dem Pfad zu einer tatsächlichen Datei im obigen Befehl. Sobald es im Editor geöffnet ist, können Sie mit den Pfeiltasten durch den Text navigieren und über die Tastatur alles eingeben, was Sie möchten.

Um eine Zeile anzuhängen, müssen wir lediglich mit der Abwärtspfeiltaste zum Ende der Datei gehen. Wenn Sie eine neue Zeile erstellen müssen, drücken Sie dazu die Eingabetaste. Geben Sie dann einen beliebigen Text ein. Abschließend speichern Sie die Datei mit Strg+O und verlassen den Editor mit Strg+X.

So leiten Sie die Ausgabe eines Befehls in eine Datei um

Wenn Sie die Ausgabe eines Befehls in einer Datei speichern möchten, können Sie dies mithilfe der Umleitungsoperatoren (>>) tun. Angenommen, Sie führen den Befehl ls aus, um den Inhalt des aktuellen Verzeichnisses abzurufen. Sie möchten die Liste in einer Datei namens command.txt speichern. Führen Sie dazu den folgenden Befehl aus:

ls >> command.txt

< p> Das Gleiche gilt für jeden anderen Linux-Befehl. Sie schreiben diesen Befehl, fügen die Umleitungsoperatoren und dann den Dateinamen hinzu, unter dem Sie die Ausgabe speichern möchten.

So hängen Sie Standardausgabe und Standardfehler an eine Datei an

Bevor Sie zum Abschluss kommen, Wir möchten Ihnen einen weiteren coolen Trick zur Dateimanipulation unter Linux zeigen. Wenn Sie sowohl die Standardausgabe als auch die Standardfehlerausgabe umleiten möchten, führen Sie Folgendes aus:

command >> file.txt 2>&1

Anstelle des "Befehls" Im Feld müssen Sie einen bestimmten Befehl eingeben, dessen Ausgabe Sie erfassen möchten. 1 und 2 sind Dateideskriptoren für die Standardausgabe bzw. den Standardfehler. Wir verwenden auch ein & Zeichen, um anzugeben, dass es sich bei dem, was vor und nach dem Umleitungsoperator steht, um Dateideskriptoren und nicht um Dateinamen handelt.

Eine bessere Linux-Dateimanipulationserfahrung

Mit diesem neu ausgestatteten Wissen können Sie jetzt ganz einfach Text oder Zeichenfolgen anhängen in eine beliebige Datei Ihrer Wahl. Abhängig von Ihrer Situation und Ihrer Vertrautheit mit Linux-Befehlen können Sie eine der oben genannten Methoden wählen.