Použijte echo , automaticky připojí nový řádek:
echo "`curl -s "http://myserver.com/api?param=1¶m=2"`" | sudo tee -a /var/log/myserver.log
Případně můžete zkusit -w možnost, ale zjistil jsem, že to nějak vytiskne vtipné znaky do konzole (ale ne do souboru, naštěstí):
curl -s "http://myserver.com/api?param=1¶m=2" -w "\n" | sudo tee -a /var/log/myserver.log
Nejjednodušší je přidat nový řádek pomocí echo
curl -s "http://myserver.com/api?param=1¶m=2" | sudo tee -a /var/log/myserver.log && echo "" >> /var/log/myserver.log
Používám awk 1 pro to (kde 1 je jen něco, co se vyhodnotí jako pravda):
$ printf a|awk 1
a
$ printf a\\n|awk 1
a
$
Mělo by to fungovat s gawk, BWK awk / nawk (který je součástí OS X) a mawk (který je součástí Debianu). sed -n p funguje s OS X sed, ale ne s GNU sed.
Alternativa pouze pro Bash:
printf %s\\n "$(cat)"
Všimněte si, že $() odebere všechny řádky od konce, takže například echo $'a\n\n'|printf %s\\n "$(cat)" vytiskne pouze jeden posun řádku.
Můžete také nahradit printf %s\\n s echo , ale například x=-nene;echo "$x" nevytiskne nic v Bash (kromě xpg_echo a režim POSIX jsou povoleny).