Um forro para colunas de preenchimento (semelhante ao printf) da saída do comando pipe anterior?

5

Eu normalmente usaria printf para preencher cada célula com espaços em branco suficientes para manter a posição do cabeçalho sobre sua respectiva coluna.

Por fim, posso apenas iterar em cada linha da saída e fazer invocações cut suficientes para que eu printf de cada linha, mas isso parece ser uma maneira horrivelmente ineficiente de fazê-lo.

Existe uma maneira de eu transformar a saída acima em um formato bem impresso sem precisar de várias linhas ou várias chamadas para os mesmos utilitários?

    
por Bratchley 13.03.2014 / 18:41

1 resposta

4

Alguém postou a resposta e a excluiu imediatamente por algum motivo. Eles me apontaram para o comando column (que eu não sabia que existia até agora). O comando original deles não estava 100% correto, mas ainda era a resposta correta:

root@xxxxxxlp01 ~ $ spacewalk-report entitlements | cut -d, -f4,5-6 | column -t -s,
entitlement                                                                  used  total
RHN Management Entitled Servers                                              114   391
RHN Provisioning Entitled Servers                                            114   390
Virtualization Host Entitled Servers                                         0     13
Clustering technology beta                                                   0     1
Private Channel Family 1                                                     22
RHEL AS (v. 4 for x86) SDK                                                   0     12
RHEL Clustering                                                              0     1
RHEL Clustering Option Beta Debuginfo (v. 5)                                 0     1
RHEL Clustering Option Debuginfo (v. 5)                                      0     1
RHEL Desktop Beta Debuginfo (v. 5)                                           0     80
RHEL Desktop Debuginfo (v. 5)                                                0     80
RHEL Desktop FasTrack                                                        0     80
RHEL Desktop FasTrack (v. 5)                                                 0     80
RHEL Desktop Multi OS                                                        34    80
RHEL Desktop Supplementary                                                   18    80
RHEL Desktop Supplementary Beta Debuginfo (v. 5)                             0     80
RHEL Desktop Supplementary Debuginfo (v. 5)                                  0     80
RHEL Desktop Virtualization Beta Debuginfo (v. 5)                            0     80
RHEL Desktop Virtualization Debuginfo (v. 5)                                 0     80
RHEL Desktop Workstation                                                     16    80
RHEL Desktop Workstation Beta Debuginfo (v. 5)                               0     80
RHEL Desktop Workstation Debuginfo (v. 5)                                    0     80
RHEL Desktop Workstation FasTrack                                            0     80
RHEL Desktop Workstation FasTrack Debuginfo (v. 5)                           0     80
RHEL FasTrack                                                                0     59
RHEL FasTrack Debuginfo (v. 5)                                               0     59

A única diferença entre essa resposta e a que eles excluíram foi a que mantém o comando cut e adiciona -s, ao final. Se ele postar novamente, aceitarei como resposta apenas para ser justo.

    
por 13.03.2014 / 19:03