Gibt es eine einfache Möglichkeit, alle Nicht-ASCII-Zeichen und die Zeilennummern, in denen sie in einer Datei vorkommen, mithilfe eines Befehlszeilenprogramms wie grep
, awk
, perl
, usw. auszudrucken?
Ich möchte die Kodierung einer Textdatei von UTF-8 in ASCII ändern, möchte jedoch vorher alle Vorkommen von Nicht-ASCII-Zeichen manuell ersetzen, um unerwartete Zeichenänderungen durch die Dateikonvertierungsroutine zu vermeiden.
Antwort1
$ perl -ne 'print "$. $_" if m/[\x80-\xFF]/' utf8.txt
2 Pour être ou ne pas être
4 Byť či nebyť
5 是或不
oder
$ grep -n -P '[\x80-\xFF]' utf8.txt
2:Pour être ou ne pas être
4:Byť či nebyť
5:是或不
wobei utf8.txt ist
$ cat utf8.txt
To be or not to be.
Pour être ou ne pas être
Om of niet zijn
Byť či nebyť
是或不
Antwort2
Ich möchte die Kodierung einer Textdatei von UTF-8 in ASCII ändern ...
... alle Vorkommen von Nicht-ASCII-Zeichen ersetzen ...
Weisen Sie dann Ihr Konvertierungstool an, dies zu tun.
$ iconv -c -f UTF-8 -t ASCII <<< 'Look at 私.'
Look at .
$ iconv -c -f UTF-8 -t ASCII//translit <<< 'áēìöų'
aeiou