Siduction Forum > Scripting & Kernelhacking

[DE] ein kniffliges sed Problem

<< < (2/2)

Geier0815:
Was Du da bauen willst, ist nicht unbedingt für sed geeignet. Mit "Zeilen vorher" kommt immer das Problem das Du erst einmal jede Zeile im hold-buffer speichern mußt, die nächsten zwei dazu und dann erst dein regex zur Anwendung kommt. Das ist unter sed echt kranke Sch**ße, damit will man nicht arbeiten. Guck dazu mal im von mir und unklarer verlinkten Tutorial unter "Working with multiple lines" nach und da dann ab "Keeping more than one line in the hold buffer".

Für deine erste Beschreibung dessen was Du möchtest, würde ich mit tac (cat nur von der letzten zur ersten Zeile) arbeiten und dann an sed pipe-n. Dann kannst Du mit dem range "/^Install/,/^Start/" arbeiten. Wenn Du dann noch nach "linux-image" suchen willst machst Du aus "/^Install/" eben "/^Install.*linux-image/". Damit solltest Du zumindest die Installations- und Deinstallationszeitpunkte der Kernel finden können.

Aber alles was darüber hinaus in Richtung "Kernel X wurde am bla installiert und am blubb deinstalliert" geht weit über die Möglichkeiten von sed hinaus. Da müßtest Du dann mit awk, perl oder ähnlichem bei gehen weil Du da Variablen mit Kernelversion, installiert oder deinstalliert und Datum versehen mußt die Du vorher durch splitten in den einzelnen Zeilen extrahieren mußt.

Vielleicht solltest Du mal genau beschreiben was Du insgesamt erreichen möchtest und warum. Evtl machst Du dir gerade unnötig Arbeit bzw das Leben schwer

Navigation

[0] Message Index

[*] Previous page

Go to full version
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks WYSIWYG Editor