Sieht sed die Welt mit anderen Augen als grep?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
schock
Beiträge: 18
Registriert: 21.01.2006 11:09:31

Sieht sed die Welt mit anderen Augen als grep?

Beitrag von schock » 13.06.2006 09:17:07

Hallo,

ich habe eine Datei x, in der stehen die vier Zeilen
1
2

4
Bei "grep -v '^2' x" ist die Ausgabe
1

4
Bei "sed -ne '/^[^2]/ p' x" ist die Ausgabe
1
4
Warum zeigt sed die leere Zeile nicht mit an so wie grep?
Die leere Zeile enthaelt doch auch keine 2 am Zeilenanfang.

Tschuess
Karl

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 13.06.2006 09:27:05

[^2] heißt: Jedes Zeichen außer einer 2 und einem Newline. Eine leere Zeile enthält meistens nur einen Newline. Wenn die Datei so aussieht:

Code: Alles auswählen

1
2
_
4
Wobei _ für ein Leerzeichen steht, sollte auch diese Zeile angezeigt werden

schock
Beiträge: 18
Registriert: 21.01.2006 11:09:31

Beitrag von schock » 13.06.2006 09:55:04

Hallo Joghurt,

> [^2] heißt: Jedes Zeichen außer einer 2 und einem Newline.

mich irritiert halt nur, dass "und einem Newline" in "[^2]" mit drin steckt.

Ich wuerde denken, ich muss "Jedes Zeichen außer einer 2 und einem Newline"
so schreiben: [^2,\n]

Tschuess
Karl

Antworten