Blockade bei regexp - wie Exact-Match definieren?

Cyber

Cyber

.:DISTORTED:.
Hallo Leute,

komme gerade nicht weiter, dabei ist es eig. was banales. Wollte mit grep nach nem definierten Wert suchen und aufgrund der hohen Trefferanzahl mittels regexp genau eingrenzen. Im konkreten Falle sinds viele Dateien mit Werten, hier etwas verkürzt z.B.
Code:
12345    dfsdfsdf
12ab   123
123       45534ejhj   sdgfsdfs
gfjhgjg   sdadfad  1234
512346  dsgh54   12234

Ich wollte per regexp nur diejenigen Zeilen durch grep erhalten in denen tatsächlich auch nur 123 steht, im obigen Beispiel also die zweite und dritte Zeile. Ich habe keine festen Abstädnde zwischen den Werten in einer Zeile und auch die Anzahl Werte pro Zeile ist unterschiedlich.
Platform is HP-UX, grep ist da recht bescheiden.
 
Hi,

Check doch mal ab, ob das hier
Code:
grep -E '(^| )123($| )'
in etwa das Gewünschte liefert; sollte eigentlich schon mal funktionieren, wenn die Felder in deiner Eingabedatei mit Leerzeichen getrennt sind; ansonsten müsste man noch evtl. TABs abfangen etc.

Gruss,
A.
 
Yessssss, das machts. Ich hatte es die ganze Zeit mit square brackets probiert und bin auf keinen grünen Zweig gekommen.

Vielen Dank.
 
Hi,

nur zur Ergänzung: der Schalter -w bzw. --word-regexp tut bei GNU-grep auch genau das gewünschte.

Gruß Daniel
 
Hallo Daniel,

ich weiss, ich hab aber keine GNU Utils unter HP-UX und SCO.
 
Zurück
Oben