PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (BASH) Zeilen die einen Audruck NICHT enthalten



Phimay
01-02-2006, 16:26
Hallo,

wie kann ich mit Linux Bordmitteln (grep etc.) in einer Datei nach allen Zeilen suchen die einen Bestimmten Ausdruck nicht enthalten?
Sitz seit einer Stunde vor "Linux in a nutshell" aber ich find einfach nichts was funktioniert.

Grüße
Philipp

ninguno
01-02-2006, 16:43
grep -v blabla

Phimay
01-02-2006, 16:48
wow so einfach kann es gehen :-)
danke
ich steh aber gerade am nächsten problem.
ich möchte einen zuvorgehenden zeilenumbruch löschen wenn in der darauffolgenden Zeile 10 Leerzeichen sind.
wollte ich so machen:


sed s/^" *"/\\b/g DATEI

das \b will er dort leider nicht. Irgendwie auch verständlich, gibts eine andere möglichkeit?

michael.sprick
02-02-2006, 10:23
Mit sed kannst du grundsätzlich nur eine Zeile matchen - und das abschließende Newline wird eh entfernt - so kannst Du es im Patternspace sowieso nicht finden...

Die einzig mir bekannte Möglichkeit ist, die jeweils nachfolgende Zeile an den Patternspace anzuhängen und durch ein internes Newline zu trennen...

Und zur Strafe für das penetrante Doppelposting musst du die Bedingung bzgl. der 10 Leerzeichen selber einbauen! :D



cat datei | sed ':a;N;$!ba;s/\n//g'
:p

Romanday
02-02-2006, 10:58
Und zur Strafe für das penetrante Doppelposting musst du die Bedingung bzgl. der 10 Leerzeichen selber einbauen! :D



cat datei | sed ':a;N;$!ba;s/\n//g'
:p

Die Hard Part V :D