grep
是否有一种简单的方法可以使用命令行实用程序(例如、、等)awk
打印文件中所有非 ASCII 字符及其出现的行号?perl
我想将文本文件的编码从 UTF-8 更改为 ASCII,但在执行此操作之前,希望手动替换所有非 ASCII 字符的实例,以避免文件转换例程造成意外的字符变化。
答案1
$ perl -ne 'print "$. $_" if m/[\x80-\xFF]/' utf8.txt
2 Pour être ou ne pas être
4 Byť či nebyť
5 是或不
或者
$ grep -n -P '[\x80-\xFF]' utf8.txt
2:Pour être ou ne pas être
4:Byť či nebyť
5:是或不
其中 utf8.txt 是
$ cat utf8.txt
To be or not to be.
Pour être ou ne pas être
Om of niet zijn
Byť či nebyť
是或不
答案2
我想将文本文件的编码从 UTF-8 更改为 ASCII ...
... 替换所有非 ASCII 字符的实例...
然后告诉你的转换工具这样做。
$ iconv -c -f UTF-8 -t ASCII <<< 'Look at 私.'
Look at .
$ iconv -c -f UTF-8 -t ASCII//translit <<< 'áēìöų'
aeiou