Date: Tue, 03 Oct 2000 01:41:52 -0700 From: Lee Ann Goldstein <lgoldste@leeann.snedmail.com> To: Stijn Hoop <stijn@win.tue.nl> Cc: Lee Ann Goldstein <lgoldste@leeann.snedmail.com>, stable@freebsd.org, lgoldste@leeann.snedmail.com Subject: Re: A new file for the base system? Message-ID: <200010030841.BAA17038@leeann.snedmail.com> In-Reply-To: Your message of Tue, 03 Oct 2000 10:13:24 %2B0200. <20001003101324.A92210@pcwin002.win.tue.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--Your message was: (from Stijn Hoop) > On Tue, Oct 03, 2000 at 01:02:09AM -0700, Lee Ann Goldstein wrote: > > > > Hrrm. I get: > > > > lgoldste@leeann 479% cat irqpci.txt | ./find_irq.awk | sort -n +2 -3 > > atkbd0 irq 1 > > pcm0 irq 5 > > fdc0 irq 6 > > pci1 irq 9 pci1.0.0 <ATI Mach64-GB graphics accelerator> > > uhci0 irq 11 pci0.7.2 > > xl0 irq 11 pci0.7.0 > > psm0 irq 12 > > ata0 irq 14 > > ata1 irq 15 > > Strange.... > > > Might be a typo somewhere (which is why I cc:ed this to the list), > > so here's the awk script again: > > > > (because of the tabs, linewraps, etc., I recommend saving this whole > > message to a file and then editing all but the awk script away :) > > [find_irq.awk snipped] > > That was what I did before. I tried the same with this version, with the same > results as before... > > awk --version gives me > > GNU Awk 3.0.4 > Copyright (C) 1989, 1991-1999 Free Software Foundation. > > Maybe this is different from yours? Nope, same version: lgoldste@leeann 485% awk --version GNU Awk 3.0.4 Copyright (C) 1989, 1991-1999 Free Software Foundation. The line pci1: <ATI Mach64-GB graphics accelerator> at 0.0 irq 9 will be processed by the clause /^pci[0-9]+/ {irqinfo = gensub(/(^[a-z0-9]+[: ]).*(<[[:print:]]+>).*([0-9]+\.[0-9]+) (irq [0-9]+$)/,"\\1 \\4 \\1.\\3 \\2", 1) gsub(/:/, "", irqinfo) sub(/ [0-9] /, " &", irqinfo) print irqinfo next } So the problem, whatever it is, is somewhere within the regex used in the gensub call. All on one line, that regex looks like this (I've marked the 3 blanks in the pattern): /(^[a-z0-9]+[: ]).*(<[[:print:]]+>).*([0-9]+\.[0-9]+) (irq [0-9]+$)/ ^ ^ ^ This should pick out, as individual tokens, "pci1:", "<ATI Mach64-GB graphics accelerator>", "0.0", and "irq 9". But the way this is written, if any of those blanks were really a tab, the pattern wouldn't match, and you'd get the output you're seeing. Try replacing the 2nd blank with [[:blank:]], which will also match a tab, and let me know if that works. Lee Ann -- Lee Ann Goldstein Caffeine is *not* a substitute for sleep. lgoldste@leeann.snedmail.com lgoldste@lafn.org leeann@rand.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010030841.BAA17038>