713 Stimmen

Anhängen der Ausgabe an das Ende einer Textdatei

Wie kann ich die Ausgabe eines Befehls an das Ende einer Textdatei anhängen?

931voto

aioobe Punkte 397211

Utilice >> anstelle von > wenn die Ausgabe in eine Datei geleitet wird:

your_command >> file_to_append_to

Si file_to_append_to nicht vorhanden ist, wird sie erstellt.

Ejemplo:

$ echo "hello" > file
$ echo "world" >> file
$ cat file 
hello
world

173voto

yoctotutor.com Punkte 4961

An append eine Datei verwenden >>

echo "hello world"  >> read.txt   
cat read.txt     
echo "hello siva" >> read.txt   
cat read.txt

dann sollte die Ausgabe lauten

hello world   # from 1st echo command
hello world   # from 2nd echo command
hello siva

An overwrite eine Datei verwenden >

echo "hello tom" > read.txt
cat read.txt  

dann lautet das Ergebnis

hello tom

81voto

walta Punkte 3447

Sie können den Operator >> verwenden. Damit werden Daten aus einem Befehl an das Ende einer Textdatei angehängt.

Um dies zu testen, führen Sie den Befehl aus:

echo "Hi this is a test" >> textfile.txt

Machen Sie das ein paar Mal und laufen Sie dann los:

cat textfile.txt

Sie werden sehen, dass Ihr Text mehrmals an die Datei textfile.txt angehängt wurde.

60voto

craft Punkte 1662

Utilice command >> file_to_append_to um an eine Datei anzuhängen.

Zum Beispiel echo "Hello" >> testFile.txt

VORSICHT! wenn Sie nur eine einzige > überschreiben Sie den Inhalt der Datei. Um sicherzustellen, dass dies nicht passiert, können Sie Folgendes hinzufügen set -o noclobber zu Ihrem .bashrc .

Dadurch wird sichergestellt, dass Sie bei versehentlicher Eingabe von command > file_to_append_to zu einer bestehenden Datei hinzufügen, werden Sie darauf hingewiesen, dass die Datei bereits existiert. Beispiel einer Fehlermeldung: file exists: testFile.txt

Wenn Sie also > können Sie nur eine neue Datei erstellen, nicht aber eine bestehende Datei überschreiben.

52voto

victortv Punkte 5853

Verwendung von tee mit Option -a (--append) ermöglicht es Ihnen, an mehrere Dateien gleichzeitig anzuhängen und auch die sudo (sehr nützlich beim Anhängen an geschützte Dateien). Außerdem ist es interessant, wenn Sie neben der Bash noch andere Shells verwenden müssen, da nicht alle Shells die Operatoren > und >> unterstützen

echo "hello world" | sudo tee -a output.txt

Este Gewinde hat gute Antworten über Tee

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X