Skip site navigation (1)Skip section navigation (2)
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>