Wie kann ich die Bash-Befehlszeile verwenden, um neue Zeilenzeichen am Ende der Datei mit dem Namen file.txt
hinzuzufügen. Ich habe versucht, echo
verwenden, aber es ist nicht richtig. Kannst du mir zeigen, wie ich es machen kann?Fügen Sie ein neues Zeilenzeichen am Ende der Datei in Bash
Antwort
echo "" >> file.txt
Fügt ein Newline-Zeichen am Ende
Extrem einfach und extrem schnell, sogar auf sehr große Dateien. '>>' scheint immer schnell zum Anhängen zu sein. –
Mit sed
:
sed -i '' -e '$a\' file.txt
mit echo
:
echo >> file.txt
Dieses auf CentOS arbeitet die leere Zeichenkette oben nicht.
sed -i -e '$a\' file
Verwendung Vi, die automatisch EOL auf Datei auf EOF erzeugt speichern.
Zum Beispiel:
vi -escwq foo.txt
oder:
ex -scwq foo.txt
mehrere Dateien zu beheben, überprüfen: How to fix 'No newline at end of file' for lots of files? an SO
GNU bash, Version 3.2.57 (1) - Freigabe (x86_64-apple-darwin14)
echo \ >> file.txt
Das fügt ein Leerzeichen sowie ein Zeilenvorschub-Zeichen –
ah ja, du hast recht. Er fügt den Raum an die Zeile vor der neuen Zeile an. Guter Fang. – jusopi
siehe http://unix.stackexchange.com/questions/31947/how-to-add-a-newline-to-the-end-of-a-file – TheWalkingCube