Auswertung einer Datei

T

TobyTobsen

Grünschnabel
Hallo Leute,

ich habe hier ein wahrscheinlich sehr einfach zu lösendes Problem.
Und zwar habe ich eine Datei vor mir die aus knapp 40 Zeilen besteht.
Die Datei hat folgendes Format:

Name,Vorname,Geburtsjahr
Gruppe,PersonalID
Name,Vorname,Geburtsjahr
Gruppe,PersonalID

usw. sprich, es gehören immer 2 Zeilen zusammen

Ich will in dieser Datei jetzt eine bestimmte PersonalID filtern und dann die Werte wie Name,Vorname,Geburtsjahr (die ja eine Zele davor stehen) ausgeben lassen.
Mein Ansatz war dabei jetzt mittels awk eine Bedingung zu formulieren, sodass ich in der Zeile mit der entsprechenden PersonalID gelandet bin.
Problem ist jetzt nur das ich mit awk nicht mehr die Werte Name,Vorname etc auslesen kann, da diese ja in der Zeile davor liegen.

Hat da jemand vielleicht eine Lösung... und ist awk hier der richtige Ansatz ?:hilfe2:

Für eure Hilfe danke ich euch schon vielmals im Voraus
 
Eine Möglichkeit wäre z.B., mit
Code:
paste -d, - - <DATEI
die Zeilen zusammenzufassen; dann kannst du ohne Weiteres mit awk darüber herfallen.

Sollte aber auch in awk selbst gehen: eine Zeile in Variable(n) zwischenspeichern und mit der nächsten zusammen ausgeben (bzw. filtern), a la
Code:
awk '{ if ( prev == "" ) { prev = $0; } else { printf "%s,%s\n", prev, $0; prev=""; } }'

Grüsse
 
Hi,

erstmal vielen Dak für deine Hilfe.


Habe das Problem inzwischen manuell doch hinbekommen.
Mein Lösungsweg war, dass ich sämtliche Zeilen die Werte in verscheidenen Arrays, sprich Name Vorname zwischengespeichert habe.

dann habe ich eine weitere bedingung eingefügt, sobald er die PersonalID erreicht hat, die entsprechende Zeilennummer gespeichet und das Array[Zeilennummer-1] ausgegeben ;)

Tricky Icky aber es funzt


danke dennoch vielmals 8)
 

Ähnliche Themen

Newbie sucht Hilfe: Zahl aus Datei mit grep/cut/sed lesen und schreiben?

Zurück
Oben