wie bestimmte Zeilen aus Datei einsammeln?

15/11/2009 - 11:23 von Astrid | Report spam
Hallo!

Habe eine groessere Datei, die besteht aus
einzelnen Bloecken. Jeder Block hat verschieden
viele Zeilen.
Jeder Block hat eine Art "Titelzeilen", die Text (mixed case) und
Zahlen enthaelt. Die anderen Zeilen eines Blockes
enthalten nur Zahlen.
Ich moechte jetzt - moeglichst mit wenigen Befehlen -
alle "Titelzeilen" in der Reihenfolge ihrers Auftretens
in einer neuen Datei sammeln.

Erschwerend kommt aber hinzu: die Zahlen in den Zahlenzeilen
sind (teilweise) im wissenschaftlichen E-Format:

3.12870E+00 7.05570E+00 6.37200E+00 2.48330E+00 8.59200E-01
3.96730E-01
1.87960E-01 7.53420E-02 8.22110E-02 7.10710E-02 4.82120E-02
1.46620E-02

Enthalten also auch nicht nur [0..9] sondern auch noch den Buchstaben
E.
Und die Titelzeile kann auch ein E enthalten.

Kann man trotzdem mit einem/wenigen Befehlen die Titelzeilen alle
herausholen?

Gruss, Astrid
 

Lesen sie die antworten

#1 Sascha Hüdepohl
15/11/2009 - 12:32 | Warnen spam
Astrid schrieb:

Jeder Block hat eine Art "Titelzeilen", die Text (mixed case) und
Zahlen enthaelt. Die anderen Zeilen eines Blockes
enthalten nur Zahlen.
Ich moechte jetzt - moeglichst mit wenigen Befehlen -
alle "Titelzeilen" in der Reihenfolge ihrers Auftretens
in einer neuen Datei sammeln.



Es wàre schön wenn Du das ein wenig genauer spezifizieren könntest.

Wenn z.B. die Titelzeilen *immer* mit einem Buchstaben beginnen könnte
schon dieses reichen:

$ grep "^[^0-9]" datei > "neue Datei"

Das filtert alle Zeilen heraus die mit einem Zeichen beginnen das keine
Zahl ist.

HTH
Sascha

Ähnliche fragen