Usa echo
, agregará automáticamente una nueva línea:
echo "`curl -s "http://myserver.com/api?param=1¶m=2"`" | sudo tee -a /var/log/myserver.log
Alternativamente, puedes probar el -w
opción, pero descubrí que de alguna manera imprime caracteres divertidos en la consola (pero no en el archivo, afortunadamente):
curl -s "http://myserver.com/api?param=1¶m=2" -w "\n" | sudo tee -a /var/log/myserver.log
Lo más simple es agregar una nueva línea usando echo
curl -s "http://myserver.com/api?param=1¶m=2" | sudo tee -a /var/log/myserver.log && echo "" >> /var/log/myserver.log
Yo uso awk 1
para eso (donde 1
es solo algo que se evalúa como verdadero):
$ printf a|awk 1
a
$ printf a\\n|awk 1
a
$
Debería funcionar con gawk, BWK awk / nawk (que viene con OS X) y mawk (que viene con Debian). sed -n p
funciona con sed de OS X pero no con sed de GNU.
Una alternativa solo para Bash:
printf %s\\n "$(cat)"
Tenga en cuenta que $()
elimina todos los saltos de línea desde el final, por ejemplo, echo $'a\n\n'|printf %s\\n "$(cat)"
solo imprime un salto de línea.
También podría reemplazar printf %s\\n
con echo
, pero por ejemplo x=-nene;echo "$x"
no imprime nada en Bash (a menos que xpg_echo
y el modo POSIX están habilitados).