df output is not aligned.

When I issue a "df" command the columns of the output are not aligned.

QMN012:.../oracle> df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           524288    439592   17%     5423     6% /
/dev/M121A_HOME     3080192   2343764   24%     7263     2% /M12SAN1A/HOME
/dev/M121A_APPL      524288    523332    1%        3     1% /M12SAN1A/appl
/dev/M121A_ADMIN      524288    517004    2%      206     1% /M12SAN1A/admin
/dev/M121A_MRQ      524288    523064    1%       33     1% /M12SAN1A/MRQ
/dev/M121A_DN      524288    520040    1%      339     1% /M12SAN1A/dn
/dev/M121A_DONNEES    15728640  15725464    1%      502     1% /M12SAN1A/donnees

Is there a way to format the output of the "df" command so all columns are aligned and it is more readable ?

#! /bin/nawk -f
#
# formatDF.nawk 
#

{

           for(i=0;i<=NF;i++){
                     lineArray[NR,i] = $i
                     if ( NF > numFields ) numFields = NF
                     if ( length($i) > lineLength ) lineLength = length($i)
           }
}
END{
           for(x=1;x<=NR;x++){
                if ( x == 1 ){
                     for(y=1;y<numFields-1;y++){
                               printf("%-"lineLength[y]"s ", lineArray[x,y])
                        }
                        printf("%s %s\n", lineArray[x,numFields -1], lineArray[x,numFields])
                }
                else {
                for(y=1;y<=numFields;y++){
                          printf("%-"lineLength[y]"s ", lineArray[x,y])
                }
                printf("\n")
                }
           }
}
df -k | formatDF.nawk 

This is written purely for the output of df -k/df -h. It is not intended as a general column allignment script.