Suas opções 'du' não são portáteis de qualquer maneira, então apenas use 'du' e escreva o sufixo depois da aritmética no awk, por exemplo.
Eu gosto muito de du
e muitas vezes gosto de usá-lo assim:
$ du -hsc /var/mail/ /var/log/ 2>/dev/null
4,0K /var/mail/
5,7M /var/log/
5,7M total
No entanto, gostaria de poder imprimir tamanhos no formato "[bytes] [kbytes] K [mbytes] M"; e até onde eu posso ver, não posso fazer isso:
$ du -hscb /var/mail/ /var/log/ 2>/dev/null
4096 /var/mail/
14734462 /var/log/
14738558 total
$ du -hsck /var/mail/ /var/log/ 2>/dev/null
4 /var/mail/
5764 /var/log/
5768 total
$ du -hscm /var/mail/ /var/log/ 2>/dev/null
1 /var/mail/
6 /var/log/
6 total
$ # all (b,k,m) here:
$ du -hscbkm /var/mail/ /var/log/ 2>/dev/null
1 /var/mail/
15 /var/log/
15 total
As opções k, b, m simplesmente escolhem um tamanho de bloco, e então um prefixo (K, M) nem é impresso (e quando você os executa todos juntos, você tem alguns tamanhos estranhos informados).
Alguma idéia se houver algo como uma string especificador de formato de tamanho para du
?
Muito obrigado antecipadamente por qualquer resposta,
Felicidades!