Hi. I am writing up a doc for the fbsd community that covers usage of ports. I have two commands that allow me to assertain the amount of disk space being utilized by currently installed ports. I would like to make a shell script (bourne or bash) out of them but I am not sure how.

1. This gives me the amount of space (kB) taken up by the 10 largest ports:

$ pkg_info -as | grep ^[0-9] | sort -gr | head -10 | cut -c 1-6

2. Using one figure from above list I produce the details of the corresponding 
port:

$ pkg_info -as | grep -B3 240695

Output:
------------------------------------------------------
Information for linux_base-8-8.0_6:

Package Size:
240695  (1K-blocks)
------------------------------------------------------

I would like the output of the script to be the above but for all ten ports 
(~40 lines; insert
a blank line between each?).  I know I need some sort of iteration but I am 
rusty on scripting.
Can anyone help?

This should get you close... if you want only the top 10 just add more pipes to the end with sort and head...

----------------------------------------------------
#!/bin/sh

newline='\
'

pkg_info -as | \
        tr '\n' ' ' | \
        sed -e 's/Package Size://g' \
                -e "s/(1K-blocks)/$newline/g" |\
        sed -e 's/^  *Information for //'
----------------------------------------------------

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to