Saída apenas colunas necessárias no df

1

Estou fazendo o df-h / e preciso gerar apenas colunas "size" e "use%". Eu tentei df -h / |cut -d' ' -f4 -f 5 mas não funciona. Como posso fazer isso?

    
por fuser 08.12.2015 / 14:08

4 respostas

2

Não funcionou porque há vários espaços nos separadores da saída do comando df.

Poderia funcionar como

$df -h / | tr -s " " | cut -d' ' -f4,5
Avail Use%
1.3G 53%

No entanto, eu prefiro fazer isso como:

$df -h / | awk ' { print $4"\t"$5 } '
Avail   Use%
1.3G    53%

Note, no entanto, que para tamanho e uso é o 2º e 5º campo. Eu também aconselho a usar uma tabulação (\ t) como separador, então se torna:

$df -h / | awk ' { print $2"\t"$5 } '
Size    Use%
2.9G    53%
    
por 08.12.2015 / 14:12
3

Se você tem o GNU coreutils, você pode usar o parâmetro --output apenas:

df -h / --output=size,used
    
por 08.12.2015 / 14:13
2

Com uma versão razoavelmente recente de findmnt incluída no pacote util-linux do LSB,

findmnt -DoSIZE,USE%

faz exatamente o que parece.

"Razoavelmente recente" inclui a versão 2.27 (lançada em dezembro de 2015) , mas não a 2.20 (lançada em janeiro de 2012) (que não possui o -D nem o SIZE e USE% colunas (porque elas foram introduzidas com versão 2.22 (lançado em setembro de 2012) ).

    
por 08.12.2015 / 17:14
0

Tente

df -h | awk '{ print $2 " " $5 }'
    
por 08.12.2015 / 14:12

Tags