Hallo Frank,

das sieht natürlich "geeky" aus :-)
Mal sehen was der Kunde besser findet, ich probier's auf jeden Fall mal aus
und versuch's zu verstehen :-)


Am 28. Februar 2014 12:33 schrieb Frank Hasterok <
[email protected]>:

> Hallo Thomas,
>
> ich habe noch einen zweiten Vorschlag.
>
> Es geht auch nur mit sed und in einer Zeile. Wer sich richtig mit sed
> auskennt, könnte den zweiten Vorschlag bestimmt noch vereinfachen:
>
>
> sed -n '{/component:/p; /current version:/p; /Package name:/p}'
> test280214.txt | sed -e '/component:/{ N ; N ; s/\n/\t/g}' -e 's/
> \(repository version:\)/\t\1/' >ausgabe-280214.txt
>
>
> viele Grüße
> Frank
>
> Am Freitag, den 28.02.2014, 10:49 +0100 schrieb Thomas Müller:
> > Hallo Christian und Frank,
> >
> >
> > danke für die Anregungen, ich probiers mal.
> > "paste" hatte ich nicht auf dem Radar bzw. kannte es gar nicht :-)
> >
> >
> > Am 28. Februar 2014 09:46 schrieb Frank Hasterok
> > <[email protected]>:
> >         Hallo,
> >
> >         hier ist mein Vorschlag:
> >
> >         #!/bin/bash
> >         grep "component:" test280214.txt >ausgabedatei280214.txt
> >         grep "current version:" test280214.txt | paste
> >         ausgabedatei280214.txt -
> >         >>ausgabedatei280214.txt
> >         sed -i '1,2d' ausgabedatei280214.txt
> >         sed -i 's/ \(repository version:\)/\t\1/'
> >          ausgabedatei280214.txt
> >         grep "Package name:" test280214.txt | paste
> >         ausgabedatei280214.txt -
> >         >>ausgabedatei280214.txt
> >         sed -i '1,2d' ausgabedatei280214.txt
> >
> >         Vielleicht geht es noch einfacher. Ich bin kein Scripting
> >         Experte.
> >
> >         Viele Grüße
> >         Frank
> >
> >         Am Donnerstag, den 27.02.2014, 21:01 +0100 schrieb Thomas
> >         Müller:
> >         > Hallo an die Scripting Experten unter Euch,
> >         >
> >         > wie kann ich elegant bzw. überhaupt folgende Aufgabe lösen:
> >         > Gegeben ist eine Datei mit folgendem Inhalt (Auszug)
> >         > <
> >         > component: NetXtreme BCM5719 Gigabit Ethernet PCIe rev 01
> >         (eth7)
> >         > component type: Firmware
> >         > current version: 7.8.16 = repository version: 7.8.16
> >         > Package name: Network_Firmware_T3TVN_LN_7.8.16.BIN
> >         > Applicability: Package cannot be applied
> >         > -----------------------------
> >         > component:  iDRAC7
> >         > component type: Firmware
> >         > current version: 1.51.51 > repository version: 1.46.45
> >         > Package name: ESM_Firmware_JYX4C_LN32_1.46.45_A00.BIN
> >         > Applicability: Package can be applied
> >         > >
> >         >
> >         > In der Ausgabe sollen die Werte für component, current
> >         version,
> >         > repository version und Package name pro Komponente in
> >         jeweils einer
> >         > Zeile erscheinen.
> >         > Diese sollen im Idealfall Felder darstellen, die mit awk
> >         erfasst werden
> >         > können ($1, $n).
> >         > Hintergrund: Es soll ein Soll-Ist Vergleich der
> >         installierten Firmware
> >         > eines DELL Servers mit einem Firmware Repository
> >         durchgeführt werden mit
> >         > der Angabe: Komponente A braucht ein Update auf Version x,
> >         Komponente B
> >         > ist aktuell.
> >         >
> >         > Habe schon diverse awk und sed Konstrukte probiert, leider
> >         ohne
> >         > durchschlagenden Erfolg da sich meine Kenntnisse der
> >         genannten Tools arg
> >         > in Grenzen hält ;-(
> >         >
> >         > Wie könnte man das machen?
> >         >
> >         > Gruß Thomas
> >         >
> >         >
> >         >
> >         >
> >         >
> >         >
> >
> >         > _______________________________________________
> >         > Lug-dd maillist  -  [email protected]
> >         > https://ssl.schlittermann.de/mailman/listinfo/lug-dd
> >
> >
> >
> >         _______________________________________________
> >         Lug-dd maillist  -  [email protected]
> >         https://ssl.schlittermann.de/mailman/listinfo/lug-dd
> >
> >
> >
> >
> >
> > --
> > Freundliche Grüße
> >
> >
> > Thomas Müller
> > Systemingenieur (IT)
> >
> > Hainstrasse 6
> >
> > 01662 Meißen
> > eMail: [email protected]
> > _______________________________________________
> > Lug-dd maillist  -  [email protected]
> > https://ssl.schlittermann.de/mailman/listinfo/lug-dd
>
>
>
> _______________________________________________
> Lug-dd maillist  -  [email protected]
> https://ssl.schlittermann.de/mailman/listinfo/lug-dd
>



-- 
Freundliche Grüße

Thomas Müller
Systemingenieur (IT)
Hainstrasse 6
01662 Meißen
eMail: [email protected] <[email protected]>
<http://www.mueller-meissen.de>
_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an