GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zeilenumbruch an die Befehlsausgabe anhängen

Verwenden Sie echo , wird automatisch ein Zeilenumbruch angehängt:

echo "`curl -s "http://myserver.com/api?param=1&param=2"`" | sudo tee -a /var/log/myserver.log

Alternativ können Sie auch -w ausprobieren Option, aber ich habe festgestellt, dass es irgendwie komische Zeichen auf die Konsole (aber glücklicherweise nicht auf die Datei) ausgibt:

curl -s "http://myserver.com/api?param=1&param=2" -w "\n" | sudo tee -a /var/log/myserver.log

Am einfachsten ist es, einfach einen Zeilenumbruch mit echo anzuhängen

curl -s "http://myserver.com/api?param=1&param=2" | sudo tee -a /var/log/myserver.log && echo "" >> /var/log/myserver.log

Ich verwende awk 1 dafür (wobei 1 ist nur etwas, das als wahr ausgewertet wird):

$ printf a|awk 1
a
$ printf a\\n|awk 1
a
$ 

Es sollte mit gawk, BWK awk / nawk (das mit OS X kommt) und mawk (das mit Debian kommt) funktionieren. sed -n p funktioniert mit sed von OS X, aber nicht mit sed von GNU.

Eine reine Bash-Alternative:

printf %s\\n "$(cat)"

Beachten Sie, dass $() entfernt alle Zeilenvorschübe am Ende, also zum Beispiel echo $'a\n\n'|printf %s\\n "$(cat)" druckt nur einen Zeilenvorschub.

Sie könnten auch printf %s\\n ersetzen mit echo , aber zum Beispiel x=-nene;echo "$x" gibt nichts in Bash aus (außer xpg_echo und POSIX-Modus sind aktiviert).


Linux
  1. $_ Gegen !$. Letztes Argument des vorhergehenden Befehls und Ausgabeumleitung?

  2. Schriftart im Echo-Befehl ändern?

  3. Vob-Dateien über die Befehlszeile zusammenführen?

  4. Echo-Befehlsbeispiele in Linux

  5. Echo:Befehl nicht gefunden

Lolcat – Ein Befehlszeilentool zur Ausgabe von Rainbow Of Colors im Linux-Terminal

16 Beispiele für Echo-Befehle unter Linux

Diff-Befehl unter Linux

So ändern Sie die Ausgabefarbe von „Echo“ in Linux

Beispiele für Linux-Echo-Befehle

Befehlszeile:Substring aus der Ausgabe extrahieren