[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]: Extrem merkw"urdiges Verhalten von sed !! (Bug?)



Hallo,

ich bin an einem sed Script beinahe verzweifelt und m"ochte es nun
mal zur allgemeinen Begutachtung freigeben.  Der beschriebene Fehler
tritt nur bei einer ganz speziellen Datei auf, deren Erstellung (in
Minimalform mich eine Stunde gekostet hat).  Nat"urlich war mein
Beispiel nicht so patologisch, aber das ist die kleinste "uberschaubare
Form.

Hier das Script:

#!/bin/sh
sed -e "/a/,/z/{;N;s/x\n//;}" $1 > $1.neu

Es soll im Text ein "a" suchen und falls es auch noch ein "z" findet
zwei Zeilen zusammenknippern, falls die Zeile mit dem "a" auf "x" endet.
Hier nun meine Beispieldatei, die unver"andert bleiben sollte:

------------------------------------------------------------------------
a 1
2
3
4
5
6
7
8
9
10
11
-----------------------------------------------------------------------

Da es extrem auf die Form dieser Datei ankommt, habe ich sie noch mal
als Attachment beigef"ugt (Name: "t", zus"atzlich auch noch Script mit
Namen "dellast").

Was passiert?  Wenn man "dellast t" aufruft, wird t.neu erzeugt, wobei
diese nicht wie erwartet identisch mit t ist, sondern die letzte Zeile
mit "11" einfach fehlt.

Wie darf man die Datei modifizieren, da"s der Fehler erhalten bleibt?
Man kann die Zahlen 1 ... 11 getrost l"oschen, aber die *Anzahl* der
Zeilen mu"s erhalten bleiben.  Also Leerzeilen d"urfen dastehen, es
darf auch mehr drinstehen, allerdings darf keine Zeile gel"oscht oder
hinzugef"ugt werden, dann verh"alt sich der sed wieder normal und
l"a"st die Datei in Ruhe.

Kann das jemand nachvollziehen????
Kann das jemand erkl"aren??????????????????????
Falls es sich als Bug herausstellt, an wen soll ich den Bugreport
schicken (Debian oder GNU-sed-Entwickler)?

Passiert es am Freitag, dem 13. auch??????????

Sehr verwundert

              Andreas.
#!/bin/sh
sed -e "/a/,/z/{;N;s/x\n//;}" $1 > $1.neu
a 1
2
3
4
5
6
7
8
9
10
11

Reply to: