Wie kann ich loswerden dieser unicode-Zeichen?

Keine Ahnung, wie, um loszuwerden, diese irritierende Zeichen U+0092 aus einer Reihe von text-Dateien? Ich habe versucht, alle die unter, aber es funktioniert nicht. Es heißt U+0092+Einstellungen aus der Zeichentabelle

sed -i 's/\xc2\x92//' *
sed -i 's/\u0092//' *
sed -i 's///' *

Ah, ich habe einen Weg gefunden:

CHARS=$(python2 -c 'print u"\u0092".encode("utf8")')
sed 's/['"$CHARS"']//g'

Doch gibt es auch einen direkten sed-Methode für diese?

  • Einfache Anführungszeichen werden aufhören, Ihre Schale aus Analyse escaped notation für backtick. Ich bin mir nicht sicher, sed würde dies zu tun selbst, so vielleicht versuchen Sie doppelte Anführungszeichen?
  • dieser Kerl ist trickreich. es ist eine Art nicht-Raum bricht, es ist U+0092, wird in der txt aber nicht sichtbar.
  • U+0092 ist eine nie verwendete steuerzeichen. Es ist fast immer das Ergebnis von misdecoding einen richtigen zitieren in einer Windows code page 1252-Datei als ISO-8859-1. Die Codierungen sind sehr ähnlich, aber die Zeichen kodiert das byte-Bereich 0x80–0x9F sind unterschiedlich. In diesem Fall sollten Sie nicht loswerden oder die andere intelligente Anführungszeichen, Sie sollten nur Lesen, Sie richtig als ISO-8859-1 oder transkodieren die Datei von 1252 auf 8859-1 oder UTF-8.
InformationsquelleAutor alvas | 2011-12-20
Schreibe einen Kommentar