On Fri, 13 Jul 2001 at 16:49 (+0200), Heinz W. Pahlke wrote:
Hallo,
ich kaempfe wieder einmal mit sed.
Gegeben sind in einer Textdatei Zeilen, die mit \ enden.
Mit "sed s/\\//g datei.alt > datei.neu dachte ich, ganz einfach die \ loeschen zu koennen.
Die Folge ist aber eine Fehlermeldung "sed: -e expression #1, char 6: Unterminated `s' command".
Offensichtlich unterliegen ich einem Denkfehler, aber welchem?
Die Shell ersetzt das \\ durch \. \ muss aber maskiert werden - entweder "doppelt", also sed s/\\\\//g datei.alt > datei.neu oder das Ersetzen der Shell verhindern mit Hochkommata: sed 's/\\//g' datei.alt > datei.neu Wenn die Zeilen mit \ enden, so wäre aber sed 's/\\$//g' datei.alt > datei.neu sicherer, da nur \ am Ende der Zeile erfasst werden. Gruß, Bernhard -- "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." [Albert Einstein]