Às vezes, desejo que a opção legível por humanos du -h
seja mais refinada enquanto ainda legível por humanos.
Em vez de mostrar:
14G
mostraria algo como:
14G 236M 788k 110b
Existe uma maneira fácil / direta / padrão de obter isso?
Às vezes, desejo que a opção legível por humanos du -h
seja mais refinada enquanto ainda legível por humanos.
Em vez de mostrar:
14G
mostraria algo como:
14G 236M 788k 110b
Existe uma maneira fácil / direta / padrão de obter isso?
Bem, parece não haver uma maneira fácil / direta / padrão de fazer isso ainda.
As opções alternativas são (créditos aos comentários de ridgy , Carpette , Weijun Zhou e drl :):
escreva um pequeno utilitário conversor dedicado em bash/awk/python/ etc. para que:
Em seguida, canalize-o para converter a
du
saída. Você pode inspirar a partir desta questão relacionada . Se funcionar bem, também pode analisar a saída de qualquer comando canalizado para ele, como:Você pode até criar um apelido para sempre em sua máquina para:
du -s
,du -hc
,du --si
). Qualquer saída de comando (ls -lah
,rsync
) deve ser analisada para encontrar sequências de dígitos destinadas a representar bytes e transformadas sem quebrar o layout.entre no
coreutils
código-fonte e adicione uma nova opção relevante que atenda às suas necessidades. Você provavelmente terá que dar uma olhada em./lib/human.c
. Então, uma vez modificado, será uma questão de./configure
,make
,make install
então odu
em sua máquina agora terá esta opção implementada.du
?C
código existente e entendê-lo primeiro para não quebrá-lo. Você terá que reinstalar sua própria versãocoreutils
em qualquer máquina em que precise usá-lo.Por enquanto, não vou entrar nisso tão cedo. De qualquer forma, sinta-se à vontade para postar aqui suas próprias soluções ou soluções alternativas à medida que surgirem :)