help with shell script

Peter Matulis petermatulis at yahoo.ca
Wed Oct 12 22:35:44 PDT 2005


--- Philip Hallstrom <freebsd at philip.pjkh.com> wrote:

> > 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 //'
> ----------------------------------------------------

What I need is the size as the first item (not the second) on each line.  Then I can use sort.



	

	
		
__________________________________________________________ 
Find your next car at http://autos.yahoo.ca


More information about the freebsd-questions mailing list