Wie wäre es mit:
echo "hello" >> <filename>
Wenn Sie den >>
Operator verwenden, werden Daten am Ende der Datei angehängt, während bei Verwendung des Operators >
der Inhalt der Datei überschrieben wird, falls dieser bereits vorhanden ist.
Sie können auch printf
auf die gleiche Weise verwenden:
printf "hello" >> <filename>
Beachten Sie, dass die Verwendung der oben genannten Methoden gefährlich sein kann. Wenn Sie beispielsweise bereits eine Datei haben und Daten an das Ende der Datei anhängen müssen und vergessen, die letzten hinzuzufügen, werden >
alle Daten in der Datei zerstört. Sie können dieses Verhalten ändern, indem Sie die noclobber
Variable in Ihrem .bashrc
:
set -o noclobber
Wenn Sie dies versuchen, erhalten echo "hello" > file.txt
Sie eine Warnung cannot overwrite existing file
.
Um das Schreiben in die Datei zu erzwingen, müssen Sie jetzt die spezielle Syntax verwenden:
echo "hello" >| <filename>
Sie sollten auch wissen, dass standardmäßig echo
ein nachfolgendes Zeilenumbruchzeichen hinzugefügt wird, das mithilfe des -n
Flags unterdrückt werden kann :
echo -n "hello" >> <filename>
Verweise