Hi all,

I have several *nix version of Unix and while some I can use df -h, for some
I can't. The only common thing that I can use that works for all is df -k.

========================================
Below is the output when running df -k:
========================================

Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d1       8268461 4133009 4052768    51%    /
/proc                      0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
fd                         0       0       0     0%    /dev/fd
/dev/md/dsk/d3       8268461 5751241 2434536    71%    /var
swap                 46176776      64 46176712     1%    /var/run
dmpfs                46176712       0 46176712     0%    /dev/vx/dmp
dmpfs                46176712       0 46176712     0%    /dev/vx/rdmp
swap                 53453216 7276504 46176712    14%    /tmp
/dev/md/dsk/d4       16526762 8075725 8285770    50%    /opt
/dev/vx/dsk/dg_volarch/SUNWspro
                     6094894 5173296  860650    86%    /opt/SUNWspro.local
/dev/vx/dsk/dg_volarch/volarch
                     83886080 61130760 22577632    74%    /vx_mnt/volarch
aklns001:/vol/vol_admin/public
                     322355200 291922136 30433064    91%    /nas_mnt/public
/dev/odm                   0       0       0     0%    /dev/odm
aklns002:/vol/vol_admin/prodhome
                     33646592 25395656 8250936    76%    /home/users
/vol/dev/dsk/c0t0d0/sol_10_1008_sparc
                     2599020 2599020       0   100%
/cdrom/sol_10_1008_sparc
aklns003-va2:/vol/vol_aftp/aftp/app
                     48179200 39619484 8559716    83%
/nas_mnt/aklns022/app_aftp
/dev/vx/dsk/dg_ico/prod01_db
                     188743680 136754136 51583424    73%
/vx_mnt/db/prod01
/dev/vx/dsk/dg_ico/prod01_app
                     52428800 31237744 21030000    60%    /vx_mnt/app/prod01

Interestingly, if I re-direct the output to a file, I get one line for each
which is a lot better than the screen output. For example, if I do df -k >
/tmp/x, the contents of /tmp/x is as below:


Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d1       8268461 4133009 4052768    51%    /
/proc                      0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
fd                         0       0       0     0%    /dev/fd
/dev/md/dsk/d3       8268461 5750757 2435020    71%    /var
swap                 45929352      64 45929288     1%    /var/run
dmpfs                45929288       0 45929288     0%    /dev/vx/dmp
dmpfs                45929288       0 45929288     0%    /dev/vx/rdmp
swap                 53205808 7276520 45929288    14%    /tmp
/dev/md/dsk/d4       16526762 8079410 8282085    50%    /opt
/dev/vx/dsk/dg_volarch/SUNWspro 6094894 5173296  860650    86%
/opt/SUNWspro.local
/dev/vx/dsk/dg_volarch/volarch 83886080 61184016 22524792    74%
/vx_mnt/volarch
aklns001:/vol/vol_admin/public 322355200 291933108 30422092    91%
/nas_mnt/public
/dev/odm                   0       0       0     0%    /dev/odm
aklns002:/vol/vol_admin/prodhome 33646592 25395684 8250908    76%
/home/users
/vol/dev/dsk/c0t0d0/sol_10_1008_sparc 2599020 2599020       0   100%
/cdrom/sol_10_1008_sparc
aklns003-va2:/vol/vol_aftp/aftp/app 48179200 39619484 8559716    83%
/nas_mnt/aklns022/app_aftp
/dev/vx/dsk/dg_ico/prod01_db 188743680 136754136 51583424    73%
/vx_mnt/db/prod01
/dev/vx/dsk/dg_ico/prod01_app 52428800 31239768 21027992    60%
/vx_mnt/app/prod01

I've attached a screenshot of the desired output that am hoping to have.
Tried to paste the manual formatting that I did but it comes out jagged
similar to the output to a file.

At the moment, only way I can think of getting the kind of formatting that
am wanting to have is to do as below:
- Read each line of the df output where each column of the line is a
separate field
- Count the number of characters for each respective field
- Note down what is the max characters for each respective field, this will
be the max number of characters + 10 for each field, each column that is
less than this max characters will be padded with spaces
- Then print out each line left-justified using Perl print formatting

Not sure if this is the best way to format the output to the one that I want
to but can't think of any way of doing it.

Preferably, would want to be able to show the df output in GB/MB as well.
That means I have to do my own conversion since some of the Solaris/*nix
that I have does not have the -h option. That should be the next objective
once I've figure out how to do the format thingy.

BTW, am using the system command or backticks to run df -k.

Hopefully, the df output to file will always be one line for each. Any
suggestion will be much appreciated. Thanks in advance.

<<attachment: formatted-df-output.gif>>

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/

Reply via email to