Een nette output voor df -k op AIX |
Een script om een nette output van df -k te krijgen.
cat df -k.sh ############################# # # Auteur : Pieter de Bruijn ############################ Main () { #====================== df -k|awk '{printf"%-40s %+16s %+9s %+8s \n",$7,$2,$3,$4}' > /tmp/dfk1 cd /home/oracle/scripts/ cat /tmp/dfk1|while read Line do veld1=`echo $Line|awk '{print $1}'` if [ "$veld1" = "Mounted" ] then echo $Line|awk '{printf"%-40s %+20s %+20s %+8s \n",$1,$2,$3,$4}' continue fi veld2=`echo $Line|awk '{print $2}'` veld3=`echo $Line|awk '{print $3}'` veld4=`echo $Line|awk '{print $4}'` veld2=`decimal $veld2` veld3=`decimal $veld3` echo "--------------------------------------------------------------------" echo $veld1 $veld2 $veld3 $veld4 | awk '{printf"%-40s %+20s %+20s %+8s \n",$1,$2,$3,$4}' done #====================== } decimal () { #====================== Avail=$1 Count=`echo $Avail|wc -c` TEL=`expr $Count - 1` case $TEL in 1|2|3) veld1=`echo $Avail` echo $veld1 ;; 4) veld1=`echo $Avail|cut -c1` veld2=`echo $Avail|cut -c2-4` echo $veld1"."$veld2 ;; 4) veld1=`echo $Avail|cut -c1` veld2=`echo $Avail|cut -c2-4` echo $veld1"."$veld2 ;; 4) veld1=`echo $Avail|cut -c1` veld2=`echo $Avail|cut -c2-4` echo $veld1"."$veld2 ;; 5) veld1=`echo $Avail|cut -c1-2` veld2=`echo $Avail|cut -c3-5` echo $veld1"."$veld2 ;; 6) veld1=`echo $Avail|cut -c1-3` veld2=`echo $Avail|cut -c4-6` echo $veld1"."$veld2 ;; 7) veld1=`echo $Avail|cut -c1` veld2=`echo $Avail|cut -c2-4` veld3=`echo $Avail|cut -c5-7` echo $veld1"."$veld2"."$veld3 ;; 8) veld1=`echo $Avail|cut -c1-2` veld2=`echo $Avail|cut -c3-5` veld3=`echo $Avail|cut -c6-8` echo $veld1"."$veld2"."$veld3 ;; 9) veld1=`echo $Avail|cut -c1-3` veld2=`echo $Avail|cut -c4-6` veld3=`echo $Avail|cut -c7-9` echo $veld1"."$veld2"."$veld3 ;; 10) veld1=`echo $Avail|cut -c1` veld2=`echo $Avail|cut -c2-4` veld3=`echo $Avail|cut -c5-7` veld4=`echo $Avail|cut -c8-10` echo $veld1"."$veld2"."$veld3"."$veld4 ;; 11) veld1=`echo $Avail|cut -c1-2` veld2=`echo $Avail|cut -c3-5` veld3=`echo $Avail|cut -c6-8` veld4=`echo $Avail|cut -c9-11` echo $veld1"."$veld2"."$veld3"."$veld4 ;; *) echo input te groot ; maximaal 11 cijfers ;; esac #====================== } Main df -k | awk '{t=t+$2}{s=s+$3}END{printf("%60d Gb %17d Gb \n", t/1024/1024, s/1024/1024)}' De output van de gegenereerde file, dfk1, zal er ongeveer zo uit komen te zien: Mounted | 1024-blocks | Free | %Used | / | 98304 | 56564 | 43% | /usr | 1572864 | 166672 | 90% | /var | 2097152 | 1409980 | 33% | /tmp | 294912 | 291724 | 2% | /home | 229376 | 46848 | 80% | |
|
|