How about 114 (including the 'du -k|':
df -k|perl -ape'map{while(1024<$_){$_/=1024;$i++}$i="%6.1f".substr"KMG
+",$i,1;$_=sprintf$i,$_}@F[1..3];$_=join"\t",@F,$/'
Output using the sample data looks like this:
/dev/dsk/c0t1d0s1 1.2G 795.7M 382.2M 68% /usr
/dev/dsk/c0t1d0s3 239.7M 43.5M 172.2M 21% /var
/dev/dsk/c0t1d0s0 414.6M 182.8M 190.3M 49% /home
I didn't come up with a way to cleanly format G to 1 decimal place, leaving K and M at a whole number (ie 1.2G, 240M).
94 if less precision and un-aligned formatting meets your standards :-P
df -k|perl -ape'map{while(1024<$_){$_>>=10;my$i++}$_.=substr"KMG",$i,1
+}@F[1..3];$_=join"\t",@F,$/'
Output:
/dev/dsk/c0t1d0s1 1G 795M 382M 68% /usr
/dev/dsk/c0t1d0s3 239M 43M 172M 21% /var
/dev/dsk/c0t1d0s0 414M 182M 190M 49% /home
Update: fixed miscounts
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.