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?

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).


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.