Soluzione 1:
GNU du ha --block-size opzione:
du -csh --block-size=1G .
Come sajb notato, l'omissione dell'argomento della dimensione del blocco ridimensionerà automaticamente l'output (e visualizzerà l'unità). L'utilizzo di qualsiasi argomento di dimensione del blocco visualizza il numero ma omette l'unità.
Soluzione 2:
Per comodità, ecco i riferimenti per macOS:
-hOutput "leggibile dall'uomo". Utilizza i suffissi delle unità:Byte, Kilobyte, Megabyte, Gigabyte, Terabyte e Petabyte.-kVisualizza i conteggi dei blocchi in blocchi da 1024 byte (1 Kbyte).-mVisualizza i conteggi dei blocchi in blocchi da 1.048.576 byte (1 Mbyte).-gVisualizza i conteggi dei blocchi in blocchi da 1.073.741.824 byte (1 Gbyte).
Ecco come funzionano le varie opzioni dato un 1,234,567 KB file:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
Vale anche la pena notare che puoi configurare il comportamento implicito tramite BLOCKSIZE variabile d'ambiente:
BLOCKSIZESe la variabile di ambienteBLOCKSIZEè impostato e-kl'opzione non è specificata, i conteggi dei blocchi verranno visualizzati in unità di quella dimensione del blocco. SeBLOCKSIZEnon è impostato e-kopzione non è specificata, i conteggi dei blocchi verranno visualizzati in512-byte.