2015-01-22 5 views
7

Desidero generare un file con i registri cpu usage in formato 24 ore (da 00:00:00 a 23:59:59). Sto usando il comando sar ma dà il tempo in formato AM o PM che non è richiesto.Come ottenere il valore di comando sar nel formato 24 ore (dalle 00:00:00 alle 23:59:59) in Linux?

Esempio: risultato

12:01:01 AM  all  1.33  0.00  1.06  0.24  0.00  97.37 
12:02:01 AM  all  1.30  0.00  1.02  0.04  0.00  97.64 

atteso:

00:01:01 all  1.33  0.00  1.06  0.24  0.00  97.37 
00:02:01 all  1.30  0.00  1.02  0.04  0.00  97.64 

risposta

8

Il programma sar è un cosiddetto locale programma a conoscenza. Significa che il formato di output è controllato dalle variabili di ambiente LC_*. La variabile LC_TIME è responsabile per l'output dei dati temporali. (vedi man locale).

Sembra che si sta utilizzando un sistema in cui LC_TIME è impostato su en_US - un locale utilizzando il 12hours AM/PM format (o LC_TIME era tenuto vuoto che porterà a utilizzare l'impostazione internazionale predefinita). È necessario utilizzare un'impostazione locale che utilizza il formato 24 ore. Diciamo en_UK. È possibile specificare sulla riga di comando:

LC_TIME=en_UK.utf8 sar 

uscita:

Linux 3.13.0-44-generic (desktop1) 01/22/15 _x86_64_ (4 CPU) 

00:00:01  CPU  %user  %nice %system %iowait %steal  %idle 
00:02:01  all  2,26  0,00  0,41  0,71  0,00  96,63 
00:04:01  all  2,68  0,00  0,72  0,46  0,00  96,13 
... 

Nota! Se il locale en_UK.uft8 non è disponibile sul sistema, è necessario generare utilizzando:

sudo locale-gen en_UK.utf8 

oppure è possibile utilizzare POSIX o C:

LC_TIME='POSIX' sar 
LC_TIME='C' sar 
Problemi correlati