Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

wie bestimmte Zeilen aus Datei einsammeln?

0 views
Skip to first unread message

Astrid

unread,
Nov 15, 2009, 5:23:28 AM11/15/09
to
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

Sascha Hüdepohl

unread,
Nov 15, 2009, 6:32:15 AM11/15/09
to
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

Florian Diesch

unread,
Nov 15, 2009, 7:04:59 AM11/15/09
to
Astrid <astri...@googlemail.com> writes:

grep -v '^[ 0-9.E+-]*$'

Florian
--
<http://www.florian-diesch.de/software/pdfrecycle/>

Astrid

unread,
Nov 15, 2009, 12:29:23 PM11/15/09
to
Hallo Sascha,

Besten Dank.


> Wenn z.B. die Titelzeilen *immer* mit einem Buchstaben beginnen könnte
> schon dieses reichen:
> $ grep "^[^0-9]" datei > "neue Datei"

Leider nicht, manchmal steht auch ein Leerzeichen als erstes in der
Titelkarte,
manchmal sind es im Zahlenblock auch negative Zahlen, die auf Spalte 1
anfangen.

Gruss, Astrid

Astrid

unread,
Nov 15, 2009, 12:30:27 PM11/15/09
to
Hallo Florian,

> grep -v '^[ 0-9.E+-]*$'

Funzt. :)
Ist ja klasse, mit wie wenig Syntax sowas geht...

Gruss, Astrid

Helmut Hullen

unread,
Nov 15, 2009, 1:14:00 PM11/15/09
to
Hallo, Florian,

Du meintest am 15.11.09:

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

> grep -v '^[ 0-9.E+-]*$'

Ungetestet:

grep -v '^[ 0-9.E+-]'


Viele Gruesse
Helmut

"Ubuntu" - an African word, meaning "Slackware is too hard for me".

Achim Peters

unread,
Nov 16, 2009, 9:39:55 AM11/16/09
to
Helmut Hullen schrieb:

>>> Kann man trotzdem mit einem/wenigen Befehlen die Titelzeilen alle
>>> herausholen?
>
>> grep -v '^[ 0-9.E+-]*$'
>
> Ungetestet:
>
> grep -v '^[ 0-9.E+-]'

Wir wissen �ber die Titelzeilen:

| eine Art "Titelzeilen", die Text (mixed case) und
| Zahlen enthaelt.

Da steht nicht, dass eine Titelzeile nicht mit einer Zahl _anfangen_
darf. Da steht auch nicht, dass eine Titelzeile nicht mit einem
Leerzeichen anfangen darf.

Bye
Achim

Bernd Nawothnig

unread,
Dec 4, 2009, 2:58:47 PM12/4/09
to
On 2009-11-15, Astrid wrote:

>> grep -v '^[ 0-9.E+-]*$'
> Funzt. :)
> Ist ja klasse, mit wie wenig Syntax sowas geht...

Reguläre Ausdrücke nicht wirklich gut zu beherrschen, ist weit
häufiger ein schwerwiegender Nachteil, als man oft vorher vermutet
hätte.

Sie sind eine der wichtigsten und nützlichsten Werkzeuge, die es in
unserer Branche gibt.

Bernd

--
Moralische Entrüstung ist der Heiligenschein der Scheinheiligen.

[Helmut Qualtinger]

Hartmut Figge

unread,
Dec 4, 2009, 4:11:16 PM12/4/09
to
Bernd Nawothnig:

>Regul�re Ausdr�cke nicht wirklich gut zu beherrschen, ist weit
>h�ufiger ein schwerwiegender Nachteil, als man oft vorher vermutet
>h�tte.

Ja. Dummerweise vergisst man vieles wieder, wenn man sie nur selten benutzt.

Hart 'seufz' mut
--
Usenet-ABC-Wiki http://www.usenet-abc.de/wiki/
Von Usern fuer User :-)

0 new messages