Portál AbcLinuxu, 6. května 2025 16:13

Dotaz: bash, sed, awk, ... - parsovani dat z textove tabulky

16.7.2008 11:03 petrpo | skóre: 3 | blog: petrpo | Brno
bash, sed, awk, ... - parsovani dat z textove tabulky
Přečteno: 910×
Odpovědět | Admin
Zdravim vespolek, mam tabulku, kterou si stahnu z http rozhrani telefonu:
+------------------------------------------------------------------------+
   |                          |Informace o zařízení                         |
   |         [1][IMG]         |                                             |
   |                          |   Cisco Systems, Inc. IP Phone CP-7940G (   |
   |                          |              SEP0015F9175FB9 )              |
   |--------------------------+---------------------------------------------|
   |[2]Informace o zařízení   |  Adresa MAC               0015F9175FB9      |
   |[3]Konfigurace sítě       |  Název hostitele          SEP0015F9175FB9   |
   |Statistiky sítě           |  Číslo tel. v adr.        9115432           |
   |   [4]Ethernet            |  ID zavedené apl.         P00308000700      |
   |   [5]Port 1 (Síť)        |  ID zavedeného syst.      PC0303010200      |
   |   [6]Port 2 (Přístup)    |  Verze                    8.0(7.0)          |
   |   [7]Port 3 (Telefon)    |  DSP                      4.0(4.0)[A0]      |
   |Logy zařízení             |  Rozšiřující modul 1                        |
   |   [8]Zobrazení ladění    |  Rozšiřující modul 2                        |
   |   [9]Statistiky zásobníku|  Revize hardwaru          4.5               |
   |   [10]Stavová hlášení    |  Sériové číslo            FCH09428B98       |
   |Statistiky datového toku  |  Model telefonu           CP-7940G          |
   |   [11]Tok 1              |  Codec                    ADLCodec          |
   |   [12]Tok 2              |  Amps                     5V Amp            |
   |                          |  Revize C3PO              2                 |
   |                          |  Indikace hlas. zpráv     NE                |
   +------------------------------------------------------------------------+

References

   Visible links
   1. http://www.cisco.com/
   2. file:///DeviceInformation
   3. file:///NetworkConfiguration
   4. file:///EthernetInformation
   5. file:///PortInformation?1
   6. file:///PortInformation?2
   7. file:///PortInformation?3
   8. file:///DeviceLog?0
   9. file:///DeviceLog?1
  10. file:///DeviceLog?2
  11. file:///StreamingStatistics?1
  12. file:///StreamingStatistics?2
Z informaci potrebuji dostat data MAC, tel.cislo, serial number,typ telefonu v nasledujicim tvaru:
0015F9175FB9;9115432;FCH09428B98;CP-7940G Uz jsem se dostal se scriptem az sem, kdy mi script:
cat soubor | sed -n '/MAC/{p;};/hostitele/{p;};/Sériové číslo/{p;};/Model telefonu/{p;}'| cut -d"|" -f3
vypisuje tabulku:
  Adresa MAC               0015F9175FB9
  Název hostitele          SEP0015F9175FB9
  Sériové číslo            FCH09428B98
  Model telefonu           CP-7940G
No a ted uz mi to vubec nemysli, jak to dokoncit. Jak se da script dotahnout do konce nebo mate elegantnejsi reseni?
Diky za podnety
Petr
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.7.2008 11:47 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: bash, sed, awk, ... - parsovani dat z textove tabulky
Odpovědět | | Sbalit | Link | Blokovat | Admin
gawk '/MAC/||/hostitele/||/číslo/||/telefonu/ { printf $(NF-1) ";"; }' soubor
16.7.2008 12:02 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: bash, sed, awk, ... - parsovani dat z textove tabulky
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed -rn '/MAC/{s/.*MAC[[:space:]]*([[:alnum:]]*).*/\1;/;H}
         /hostitele/{s/.*hostitele[[:space:]]*([[:alnum:]]*).*/\1;/;H}
         ${g;s/\n//gp}' soubor
Dalsie retazce si pridas analogicky. Ten gawk ale vyzera lepsie, pretoze ma NF-1
If you hold a Unix shell up to your ear, you can you hear the C.
16.7.2008 12:27 petrpo | skóre: 3 | blog: petrpo | Brno
Rozbalit Rozbalit vše Re: bash, sed, awk, ... - parsovani dat z textove tabulky
Moc jste mi pomohli. Diky vam.

Petr

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.