Hi,
genau das ist das problem. in der datei kommt nirgendwo ein zeilenumbruch vor. durch sed sollen an bestimmten stellen \n eingebracht werden.
-u hat nicht geholfen. was kann ich noch versuchen?
Entweder ist im Aufruf von sed ein Fehler drin, oder sed ist kaputt (zwar _extrem_ unwahrscheinlich, aber nicht unmöglich). Da Du auf einem Unixsystem zu arbeiten scheinst müßte eigentlich Perl vorhanden sein.
$ for i in locate .htm
; do cat $i >> testdata ; done
abgebrochen, da vergessen Gänsefüßchen um's $i zu machen,
da ist der Loop bei der ersten Datei mit Leerzeichen
hängengeblieben. Hupps! ;-)
aber immer noch ein rundes halbes Gigabyte (496664200)
time ist nur zum Zwecke der Messung (ist hier ein 1200er
Duron mit 512 MiB RAM)
$ time perl -pie 's/<table>/\n/g' testdata
real 3m36.767s
user 0m18.470s
sys 0m10.460s
Flott ist Perl ja, kann man sagen, was man möchte und
dazu rappelt bei mir Sonntags um 01:00 noch einiges an
Cronjobs los! ;-)
Ein kleiner Test zum Abschluß:
$ grep '<table>' testdata | wc -l
0
Der Perlbefehl ist auch leicht zu merken, da die Optionen zu einem "pie", einem "Törtchen" also, geordnet werden können.
Siehe auch 'man perlrun'.
so short
Christoph Zurnieden
PS:
Finde die Fehlermeldung von sed aber wirklich _sehr_ merkwürdig. Bist Du Dir sicher, das Du Dich nirgendwo vertippt hast?
CZ