04/12/2018

Linux Script – Bash – Trick

Şimdi yeni öğrendiğim paste komutu ve bc komutunun güzel bir uygulamasını göstereceğim.
Önce /etc altında ki herşeyin boyutunu görmek için

du -sh *
0 bin
199M boot
0 dev
40M etc
31G home
0 lib
0 lib64
16K lost+found
4,0K media
4,0K mnt
4,0K opt
0 proc
76M root
97M run
0 sbin
4,0K srv
0 sys
164K tmp
1,8G usr
574M var

K kilobyte ile ilgilenmiyorum ve isimlerlede ilgilenmiyorum.

# du -sh *|awk '{print $1}'|grep M && du -sh *|awk '{print $1}'|grep G
199M
40M
76M
97M
574M
31G
1,8G

şimdi burada gördüğünüz gibi hem Megabytelar hemde Gigabyte lar var ki aynı tipte degğiller. Bu nedenle önce Megabyteları alıyorum.

# cat delete |cut -d M -f1|cut -d G -f2
199
40
76
97
574

Gördüğünüz gibi Gigabytelar gitti ama yerleri boş kaldı.

# cat delete |cut -d M -f1|cut -d G -f2|paste -sd+
199+40+76+97+574++

paste satırları birleştirip -s ile sonra -d ile aralarına + işareti koyuyor ama boş olanlarıda karakter kabul edip + eleyince sonunda ++ oluyor. Onu bir temizleyelim

# cat delete |cut -d M -f1|cut -d G -f2|paste -sd+|sed 's/++//'
199+40+76+97+574

artık hesaplayabiliriz.
bc yani basic calculator yani basit hesap makinası na gönderiyoruz.

#cat delete |cut -d M -f1|cut -d G -f2|paste -sd+|sed 's/++//'|bc
986

böylece 986 Megabyte megabyte cinsinden. Aynısını G için yapıp sonra uygun şekle çevirip toplarsak toplam sistem boyutunu bulmuş oluruz.

Leave a Reply