graphical representation of `du`

Chris Rees utisoft at gmail.com
Sat Apr 2 17:30:46 UTC 2011


On 2 April 2011 18:22, Chris Rees <utisoft at gmail.com> wrote:
> On 2 April 2011 18:07, Mike Jeays <mike.jeays at rogers.com> wrote:
>> On Sat, 2 Apr 2011 17:15:04 +0100
>> Chris Rees <utisoft at gmail.com> wrote:
>>
>>> du -h . | awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' |
>>> awk '{print($2" ["$1"]");}' | sed -e 's,[^-][^/]*/,--,g' -e 's,^,|,'
>>
>>
>> I confess to being impressed...
>>
>
> Yeah, but perhaps I should have used sed instead of the second awk;
> fewer processes:
>
> du -h | awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' | sed
> -e 's,^[^1-9]*\([^___CTRL-V+TAB______]*\)____CTRL-V+TAB_____*\(.*\)$,\2
> \[\1\],;s,[^-][^/]*/,--,g;s,^,|,'
>
> That does exactly the same --  where I've put ____CTRL-V+TAB______ you
> have to type Ctrl-V, then a literal [::tab::] key; BSD sed doesn't do
> \t.
>
> Chris
>

Final version:

http://www.bayofrum.net/~crees/graphical_du.sh

Maybe I should port it...

Chris


More information about the freebsd-questions mailing list