Echo-Text mit neuer Zeile in Bash

35

Ich möchte Text an eine Datei anhängen. Also schrieb ich in Bash

echo text >> file.conf

Es hinterlässt jedoch keine neue Zeile. Also kann ich das nur einmal machen. Wie füge ich eine neue Zeile hinzu?

John Albietz
quelle
5
Was meinst du? Ein extra Newline? echofügt standardmäßig eine neue Zeile hinzu.
Bis auf weiteres angehalten.
4
echoStandardmäßig hinterlässt eine neue Zeile. Benötigen Sie zwei Zeilen? Wenn Sie dies auf einem Linux-System ausführen und die Datei auf einem Windows- oder Mac-System öffnen, vergewissern Sie sich, dass Ihr Editor * nix-Zeilenumbrüche unterstützt. Andernfalls wird alles in einer Zeile angezeigt, obwohl es sich in mehreren Zeilen befindet.
Darth Android

Antworten:

79

Option 1:

% echo -e "text\n" >> file.conf

Option 2:

% ( echo text ; echo "" ) >> file.conf

Option 3:

% echo text >> file.conf
% echo ""  >> file.conf
Akira
quelle
7
Sie können das leere Argument ( echo ""=> echo) löschen . Auch Option 4 echo $'text\n':, die für alle Befehle nützlich $''ist, da sie von bash interpretiert werden.
7

Ich denke, die richtige Antwort sollte sein, dass Ihr Befehl

echo text >> file.conf

fügt eine zusätzliche Zeile hinzu, jedoch nach dem neuen Text, nicht vor.

Ich vermute, dass Sie vor diesem Text eine zusätzliche Zeile einfügen möchten, wahrscheinlich, weil Ihre ursprüngliche Datei nicht in einer neuen Zeile endet. In diesem Fall könnten Sie verwenden

echo -e "\ ntext" >> file.conf

Stattdessen -ekönnen Sie als Option das neue Zeilenzeichen \nverwenden.

N.Gutierrez
quelle
3

Nur um Akiras Antwort zu ergänzen

Option 4:

Verwenden Sie ctrl-v ctrl-mzweimal Tastenkombinationen, um zwei Zeilenvorschub-Steuerzeichen in das Terminal einzufügen. Mit Strg-V können Sie Steuerzeichen in das Terminal einfügen. Wenn Sie möchten, können Sie anstelle von ctrol-m die Eingabetaste oder die Eingabetaste verwenden. Es fügt das Gleiche ein.

Das sieht dann so aus echo text^M^M >> file.conf

James T
quelle
2
Wenn Sie Zeilenumbrüche anstelle von echo "text^J^J" >> file.confZeilenumbrüchen (Linux / Unix) benötigen, versuchen Sie, durch Eingabe von ^ J möglicherweise einen wörtlichen Zeilenumbruch einzufügen. Stellen Sie einfach sicher, dass Sie die Anführungszeichen setzen, und es wird gut.
Darth Android