Saída do Linux para a tabela

0

Eu tenho um cronjob que é executado mensalmente para gerar algum relatório do nosso sistema. No entanto, a saída atual é como abaixo:

Uptime
100
45
50
Average CPU
2.36
15.6
70.8

Como posso gerar a saída em um arquivo CSV em um formato de tabela, algo como

Uptime        Average CPU
100            2.36
45            15.6
50            70.8
    
por asdz 14.11.2017 / 05:17

2 respostas

2

Usando o comando rs ( reshape ): given

$ cat output 
Uptime
100
45
50
Average CPU
2.36
15.6
70.8

então

$ rs -et 0 2 < output 
Uptime       Average CPU
100          2.36
45           15.6
50           70.8

Você pode alterar o delimitador de saída com -C , por exemplo,

$ rs -et -C, 0 2 < output 
Uptime,Average CPU,
100,2.36,
45,15.6,
50,70.8,
    
por 14.11.2017 / 12:59
3

Use o comando abaixo:

pr -2 l.txt  | sed '/^$/d' | sed -r "s/\s+/ /g" |sed '1d' 

l.txt contém o texto que você mencionou na postagem. Saída:

$ pr -2 l.txt  | sed '/^$/d' | sed -r "s/\s+/ /g" |sed '1d'
Uptime                  Average CPU
100                 2.36
45                  15.6
50                  70.8
    
por 14.11.2017 / 08:02