Welche Version verwenden sed
Sie? Ich glaube, dass GNU sed Unicode-Zeichen unterstützen sollte, und Ihr Beispiel funktioniert für mich unter Linux (Ubuntu, mit UTF-8-Umgebung).
Wenn Sie eine Version von sed verwenden, die nicht Unicode-fähig ist, wird Ihre Zeichengruppe beschädigt, da sie nur einem Byte entspricht. Wenn Ihre Befehlszeile eine UTF-8-Codierung verwendet, würde “
ein nicht Unicode-fähiger sed tatsächlich drei Bytes \xE2
, \x80
und anzeigen \x9C
. Dies würde Ihre Charaktergruppe zusammenfassen, die jeweils nur einem dieser Bytes entspricht. Verschiedene andere Konstrukte würden ebenfalls versagen, z. a”?
Ist der Buchstabe 'a' dann zwei Bytes gefolgt von einem optionalen dritten Byte, so a
würde der Ausdruck alleine nicht mit dem Ausdruck übereinstimmen, obwohl er so aussieht, als sollte er aussehen.
(Möglicherweise möchten Sie auch in Betracht ziehen, das Ellipsenzeichen durch drei Punkte zu ersetzen. Ellipsis ist ein Kompatibilitätszeichen in Unicode; es wird im Allgemeinen als moderner erachtet, die Punkte zu schreiben und den Zeichensatz für den Schriftsatz sorgen zu lassen.)