2017-03-29 3 views
0

Problem: Ich habe eine Reihe von TXT-Dateien in Portugiesisch auf einem Windows-Rechner mit Hilfe von NotePad geschrieben. Einige von ihnen scheinen als ANSI kodiert worden zu sein. Wenn ich diese Dateien unter gedit unter Ubuntu öffne, enthalten einige von ihnen Felder, die 008D enthalten (siehe Screenshot). Dies ist nach dem Konvertieren in UTF-8.Codierung: 008D Zeichen?

Screenshot gedit

Wenn ich den Inhalt der Datei an das Endgerät Drucken mit cat, head oder more, ist dies die Ausgabe der gleichen Datei. Beachten Sie, dass alles von bis bis einschließlich des seltsamen Zeichens nicht auf das Terminal gedruckt wird.

Olá madrinha! Eu gostava de ir contigo passar férias na montanha, porque acho que vai ser divertido e há muito tempo que já não vou a tua casa e na últimaar a ter saudades. Madrinha, não sei porque és tão simpática comigo mas para mim, és a melhor madrinha do mundo inteiro. Madrinha, ajudas-me sempre que preciso e estás sempre a apoiar-me por isso, quero ir a tua casa para te apoiar a ti. Obrigada madrinha, por me apoiares. Muito obrigado madrinha 

Wenn ich die gleiche Datei mit atom.io öffnen, sieht alles wie es sein sollte:

Screenshot atom

Fragen: am dringlichsten: Wie kann ich diesen Charakter loszuwerden, ohne alle Dateien öffnen und manuell löschen? Und zweitens, was ist das, d. H. Was sollte ich google, um ähnliche Probleme zu lösen?

Antwort

0

Die magischen Schlüsselwörter gefunden ('Unicode-String mit sed entfernen'). Dies macht den Trick: https://stackoverflow.com/a/8562661/1331521:

# Define unicode character you want to remove; 
# In this case 008D: 
CHARS=$(python -c 'print u"\u008D".encode("utf8")') 

# Then run sed on all files in directory 
sed -i 's/['"$CHARS"']//g' * 
Verwandte Themen