* Ulrich Klenk schrieb am 29.Mai.2001:
bastel gerade an einem Skript (#!/bin/bash), das in mehreren Dateien folgendes ändern soll: .htm' nach .php' (Hochkomma über #). Es funktioniert insoweit, das ich alle Möglichen Zeichen tauschen kann, aber eben nicht besagtes Hochkomma. Versuche mit sed 's|.htm'|.php'|g', 's|.htm\x27|.php\x27|g' blieben Erfolglos auch /' , /'/ , \'\ , \d#039 .....
s/.htm\'/.php\'/g oder auch s|.htm\'|.php\'|g
WO liegt der Fehler, wie kann ich das tauschen?
Der Trenner nach dem s ist egal, das kann ein / oder auch ein | sein, aber auch ein a, b, c oder ein anderer Buchstabe, Zahl oder was weiß ich. Das Fluchtsymbol, daß ' maskiert ist aber immer der Backslash \. Wenn allerdings der Backslash als Trenner benutzt wird, dann muß er sich selbst maskieren, also immer doppelt sein. Das sähe dann so aus: s\\.htm\'\\.php\'\\g nicht zu empfehlen. Alles was eine Sonderbedeutung hat, wie ', ", *, +, ... kann mit \ maskiert werden. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0