Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jun 2006 15:19:20 +0200
From:      "no@spam@mgedv.net" <nospam@mgedv.net>
To:        <dwinner-lists@att.net>, <freebsd-questions@freebsd.org>
Subject:   RE: need help w/ simple bash script
Message-ID:  <000501c699ec$4d104000$01010101@avalon.lan>
In-Reply-To: <44A11E2D.3010006@att.net>

next in thread | previous in thread | raw e-mail | index | archive | help
 

> -----Original Message-----
> From: owner-freebsd-questions@freebsd.org 
> [mailto:owner-freebsd-questions@freebsd.org] On Behalf Of dw
> Sent: Tuesday, June 27, 2006 2:02 PM
> To: freebsd-questions@freebsd.org
> Subject: need help w/ simple bash script
> 
> Hi all,
> 
> I am trying to write a simple bash script that will collate 
> pkg_version 
> reports from all of my servers to generate centralized HTML 
> reports. To 
> format the output, I am trying:
> 
> # REPORT=`pkg_version -v`
> 
> But when I "echo $REPORT", I get:
> 
> Xaw3d-1.5E_1 = up-to-date with port apr-db42-1.2.7_1 = 
> up-to-date with 
> port autoconf-2.13.000227_5 = up-to-date with port autoconf-2.59_2 = 
> up-to-date with port automake-1.9.6 = up-to-date with port 
> bash-3.1.17 = 
> up-to-date with port cvsup-without-gui-16.1h_2 = up-to-date with port 
> db41-4.1.25_3 = up-to-date with port.............................
> 
> When what I want is:
> 
> Xaw3d-1.5E_1 = up-to-date with port
> apr-db42-1.2.7_1 = up-to-date with port
> autoconf-2.13.000227_5 = up-to-date with port
> autoconf-2.59_2 = up-to-date with port
> automake-1.9.6 = up-to-date with port
> bash-3.1.17 = up-to-date with port
> cvsup-without-gui-16.1h_2 = up-to-date with port
> db41-4.1.25_3 = up-to-date with port
> ...
> ...
> ...
> 
> 
> I've also tried:
> 
> for LINE in `pkg_version -v`; do echo $LINE; done
> 
> but that's even worse; then I get:
> 
> Xaw3d-1.5E_1
> =
> up-to-date
> with
> port
> apr-db42-1.2.7_1
> =
> up-to-date
> with
> port
> autoconf-2.13.000227_5
> =
> up-to-date
> with
> port
> autoconf-2.59_2
> =
> up-to-date
> with
> port
> ...
> ...
> ...
> 
> I know I figured out a technique once before, but I'm banging my head 
> against a wall right now. Thanks for any help.
> 
> -DW
> 
> 
> 


why not just try

pkg_version -v |while read h_line
do
	echo "$h_line" >TO SOMEWHERE
done;


you'd be even able to do something like
pkg_version -v |grep -v 'up-to-date with port'|while read h_line
do
	blah....
done;


have fun ;-)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000501c699ec$4d104000$01010101>