GNU/Linux >> Belajar Linux >  >> Linux

du -h dengan lebih banyak tempat desimal

du -Lsbc * | awk '
    function hr(bytes) {
        hum[1024**4]="TiB";
        hum[1024**3]="GiB";
        hum[1024**2]="MiB";
        hum[1024]="kiB";
        for (x = 1024**4; x >= 1024; x /= 1024) {
            if (bytes >= x) {
                return sprintf("%8.3f %s", bytes/x, hum[x]);
            }
        }
        return sprintf("%4d     B", bytes);
    }

    {
        print hr($1) "\t" $2
    }
'

awk-fungsi berdasarkan ini.

Seseorang mungkin dapat membuat output terlihat sedikit lebih bagus dengan menyalurkannya melalui column atau mengisinya dengan spasi.

Edit: Menambahkan padding kiri.

Juga, untuk mengurutkan daftar:du -Lsbc * | sort -n | awk dan kemudian skrip awk.


Linux
  1. Membuat komputer lebih mudah diakses dan berkelanjutan dengan Linux

  2. Jadikan riwayat Bash lebih bermanfaat dengan kiat-kiat ini

  3. Pelajari lebih lanjut tentang sistem Linux Anda dengan inxi

  1. Jadikan output du lebih berguna dengan trik rapi ini

  2. Gartner Rings Di Tahun Baru dengan Tech Forecast (lanjutan)

  3. Gartner Rings di Tahun Baru dengan Prakiraan Teknologi 2015

  1. Selesaikan lebih banyak di baris perintah Linux dengan GNU Parallel

  2. i3wm:lebih dari 10 ruang kerja dengan kunci pengubah ganda?

  3. Manakah paket yang lebih standar, getopt atau getopts (dengan huruf s)?