cat >> filename
This is text, perhaps pasted in from some other source.
Or else entered at the keyboard, doesn't matter.
^D
Im Wesentlichen können Sie jeden gewünschten Text in die Datei kopieren. STRG-D sendet ein Dateiende-Signal, das die Eingabe beendet und Sie zur Shell zurückbringt.
Ein anderer möglicher Weg ist:
echo "text" | tee -a filename >/dev/null
Der -a
wird am Ende der Datei angehängt.
Bei Bedarf sudo
, verwenden Sie:
echo "text" | sudo tee -a filename >/dev/null
Wie wäre es mit:
echo "hello" >> <filename>
Mit >>
Der Operator fügt Daten am Ende der Datei hinzu, während er den >
verwendet überschreibt den Inhalt der Datei, falls bereits vorhanden.
Sie können auch printf
verwenden genauso:
printf "hello" >> <filename>
Beachten Sie, dass es gefährlich sein kann, die oben genannten zu verwenden. Wenn Sie beispielsweise bereits eine Datei haben und Daten an das Ende der Datei anhängen müssen und vergessen, das letzte >
hinzuzufügen Alle Daten in der Datei werden vernichtet. Sie können dieses Verhalten ändern, indem Sie den noclobber
setzen Variable in Ihrem .bashrc
:
set -o noclobber
Wenn Sie jetzt versuchen, echo "hello" > file.txt
zu machen Sie erhalten eine Warnung mit der Aufschrift cannot overwrite existing file
.
Um das Schreiben in die Datei zu erzwingen, müssen Sie nun die spezielle Syntax verwenden:
echo "hello" >| <filename>
Sie sollten auch wissen, dass standardmäßig echo
fügt ein abschließendes Zeilenumbruchzeichen hinzu, das mit -n
unterdrückt werden kann Flagge:
echo -n "hello" >> <filename>
Referenzen
echo(1) - Linux man page
noclobber variable
I/O Redirection