Mailinglist Archive: opensuse-de (5949 mails)

< Previous Next >
Re: Script zum Auswerten/Parsen von lspci-Ausgabe
  • From: David Haller <david@xxxxxxxxxx>
  • Date: Tue, 16 Oct 2001 00:13:02 +0200
  • Message-id: <20011016001302.F882@xxxxxxxxxx>
On Mon, 15 Okt 2001, Julian Pawlowski wrote:
>Ich möchte gerne alle PCI-Geräte aus meinem Computer in einer
>übersichtlichen Tabelle ausgeben (wird in SSI-Datei eingebettet). Durch
>Eingabe von "lspci -m" erhalte ich ja laut man-page einen Code, der sich
>hervorragend zum Parsen eigenen soll. Ich möchte gerne alle Devices
>zunächst nach Typ - also ob Netzwerkdevice, Grafikkarte oder so -
>getrennt haben und unter diesen Punkten dann jeweils die Devices mit
>Hersteller. Meist muss man ja das Rad kein zweites Mal erfinden und
>deshalb frage ich hier, ´ob wohl jemand bereits solch ein Script
>hat/kennt oder mir ein wenig beim Parsen behilflich ist... Perl kann ich
>(noch) nicht so gut, deshalb würde ich das ganze gern als Shellscript
>machen.

Ich kenne da auch nix, aber so auf den ersten Blick kannst du vielleicht
was mit den folgenden Ideen was anfangen:

,----[ ~/bin/lspciparse.pl ]
| #!/usr/local/bin/perl -w
| use strict;
|
| my %devs;
|
| open(DEVS, "/sbin/lspci |");
| while(<DEVS>) {
| chomp;
| if(/^([^ ]*) ([^:]*): (.*)/) {
| $devs{$1}{'type'} = $2;
| $devs{$1}{'desc'} = $3;
| }
| }
|
| print "<html><head></head><body><table border=\"2\" cellpadding=\"2\">\n",
| "<tr><th>ID</th><th>TYPE</th><th>DESCRIPTION</th></tr>\n";
|
| foreach my $id (sort keys %devs) {
| printf "<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n",
| $id, $devs{$id}{'type'}, $devs{$id}{'desc'};
| }
|
| printf "</table></body></html>\n";
`----

Achso, in der shell ist mir auf die Schnelle nix eingefallen...

-dnh

--
Es gibt vier Millionen Analphabeten in Deutschland. Also nach Definiton Leute,
die entweder gar nicht schreiben und lesen können oder nur so schlecht, dass
zumutbarer Schriftverkehr mit ihnen nicht möglich ist. -- Nur - was wollen die
alle im Usenet, im mittleren Management und im Webdesign? [J.E. Guenther, dasr]

< Previous Next >
References