PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sed setzt kein \n (linefeed)



bergmann-mg
28-12-2003, 18:55
Hi,

ich habe unter Suse 8.x ein sed-Script erfolgreich entwickelt und getestet - läuft wunderbar. Nach der Portierung auf einen anderen Rechner (Suse7.x) funktioniert es dort nicht. Es wird das Zeichen '\n' für Linefeed in folgender Zeile nicht mehr ausgeführt:

sed 's/<BR>/\n/g' datei1 > datei2

Dabei ist es egal ob von Command-Line oder als Script - beides läuft schief. Ergebnis ist kein Zeilenumbruch sondern ein 'n'.

Wieso reagiert der sed unterschiedlich? Wo muüssen Settings geändert werden?

Alternativ bin ich auch für einen anderen (Script-) Ansatz offen, der eine Datei,, die nur aus einer Zeile besteht diese in eine Datei mit Zeilenumbruch nach einem bestimmeten Ausdruck umformatiert.

Thanks

Andreas

klaus_harrer
28-12-2003, 22:45
Hallo

Versuch es mal mit

sed 's/<BR>/\\n/g' ......

Bin auch kein Profi

MfG
Klaus

DaTa
29-12-2003, 00:41
Portabel ist:



sed 's/<BR>/\
/'

bergmann-mg
29-12-2003, 11:07
Hi,

danke für den Tipp Nr. 2 - es funkz! :-)

Es laufen auch einige andere sed-Befehle nicht, die man aber umgehen kann (z.B. insert und append reagieren anders).

Nach langer Suche in den UnTiefen des Systems habe ich die Ursache gefunden (reproduzierbar) - es ist unter Suse 7.3 ist eine sed-Version 3.02 installiert, unter Suse 8.1 die Version 3.02.80-52. Ein Update auf die höhere Version bei 7.3 bringt Konflikte mit dem rpm "basis-2001.... "(Finger-weg!)

Gruss

Andreas