Combine dos resultados de comando en una línea al redirigir stdout

8

En un script cron, quiero registrar las temperaturas de la CPU en el formato

[datetime] temp

usando datey acpi -t. ¿Cómo puedo redirigir ( >>) estos dos comandos a una sola línea en el archivo de registro?

David Thorisson
fuente

Respuestas:

11

Intenta simplemente hacer:

echo $(date) $(acpi -t) >> your_log_file

Es posible que desee especificar un formato de fecha compacto para que su archivo de registro sea más fácil de analizar y sea independiente de la configuración del entorno / entorno local (algo así, $(date +"%Y%m%d %H%M%S")por ejemplo).

Estera
fuente
4

bueno quizás en sistemas más antiguos (solaris8 fe ^^) sin bash:

x=`date '+%Y%m%d %H%M%S'`; y=`acpi -t`; echo "$x $y" >>your_log_file
lobo
fuente
1
Incluso Solaris 8 lo entiende $(…), es compatible con POSIX. Pero tiene que usar en /usr/xpg4/bin/shlugar de /bin/sh, Solaris 8 /bin/shsigue siendo un shell Bourne.
Gilles 'SO- deja de ser malvado'
Aaah, nunca usé / usr / xpg4 / bin / sh, habríamos ahorrado algunos esfuerzos esos días usando solo el shell Bourne.
lobo
Como este ...
mikiemorales