Berikut adalah rumus yang memiliki dasar yang sesuai untuk tujuan saya - antara lain hanya mencetak file, menggunakan untuk ukuran kekuatan 1024, 2 ^ 10 -. Ukuran file yang terlibat adalah 1382 byte (1,35 KiB ):
# ls -lh | grep -v '^d' | sed -n '2p' | awk '{print $5, $(NF)}'
1,4K anaconda-ks.cfg
Ketentuan untuk diterapkan dalam formula:
- menyisipkan '' sebelum yang terakhir karakter milik pertama kolom output;
- menyisipkan ' iB ' setelah yang terakhir karakter milik pertama kolom output;
- dua digit fraksional ke nilai terdekat (mis. 1.095 = 1.09, 1.096 = 1.10);
- kolom cetak yang terkait dengan ukuran dan file.
Output untuk mencapai setelah kondisi diterapkan:
# ls -lh | grep -v '^d' | sed <expression> | awk <expression>
1,35 KiB anaconda-ks.cfg
linux
command-line
sed
awk
Ricky Tigg
sumber
sumber
Jawaban:
Anda harus menghindari penguraian ouput dari
ls
. Alih-alih gunakanstat
perintah.Dan alih-alih mencoba memalsukan format angka baru, gunakan perintah
numfmt
dari coreutils.Jadi Anda bisa menggunakan ini:
sumber