Date: Thu, 3 Aug 2006 17:03:04 -0500 (CDT) From: Philip Hallstrom <freebsd@philip.pjkh.com> To: User Freebsd <freebsd@hub.org> Cc: freebsd-questions@freebsd.org Subject: Re: Stand up and be counted - BSDStats Project Message-ID: <20060803165843.V98843@bravo.pjkh.com> In-Reply-To: <20060803180553.B6529@ganymede.hub.org> References: <20060803180553.B6529@ganymede.hub.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> pciconf -lv needs to be parsed, this being the hard step, into a string that > can be sent via HTTP ... this is the hard part because it has to be done > as/in a shell script ... anyone out there *really* good at shell programming? > > What needs to happen is: > > pcib4@pci6:0:2: class=0x060400 card=0x00000044 chip=0x032a8086 rev=0x09 > hdr=0x01 > vendor = 'Intel Corporation' > device = '6700PXH PCI Express-to-PCI Express Bridge B' > class = bridge > subclass = PCI-PCI > > Needs to be converted into: > > device=pcib&vendor=Intel+Corporation&device=6700PXH+PCI+Express-to-PCI+Express+Bridge+B&class=bridge&subclass=PCI-PCI > > So that the final query would look something like: > > fetch http://bsdstats.hub.org/report.php?id=`cat > /tmp/getid`&device=pcib&vendor=Intel+Corporation&device=6700PXH+PCI+Express-to-PCI+Express+Bridge+B&class=bridge&subclass=PCI-PCI This will get you close. Just change the "echo" line... ---------------------------------------------------------------------------------------------- #!/bin/sh IFS=" " query_string="" for line in `pciconf -lv` do echo $line | grep -qs "^[a-z]" if [ $? -eq 0 ] then if [ -n "$query_string" ] then echo "http://foo.com/bar.php?"$query_string query_string="" fi else query_string=$query_string`echo $line | sed -e 's/^ *//' -e 's/ *=/=/' -e 's/= */=/' -e 's/ $//'`"&" fi done ----------------------------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060803165843.V98843>