On 2 April 2011 18:07, Mike Jeays <mike.je...@rogers.com> wrote:
> On Sat, 2 Apr 2011 17:15:04 +0100
> Chris Rees <utis...@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
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to