网上的说法都是通过vim,或者enca命令来确认编码,但是vim效率太低,不能他批量执行。enca又因为编码格式的支持不是太好使,有可能会提示
enca: Cannot determine (or understand) your language preferences.
Please use `-L language', or `-L none' if your language is not supported
(only a few multibyte encodings can be recognized then).
Run `enca --list languages' to get a list of supported languages.
其实我们常用的file命令带有编码探测功能。只要我们后面加上一个--mime-encoding就可以准确探测文件编码类型了。
例如:
file --mime-encoding a.html
如果我们要批量查找htm结尾的utf8编码的文件:
find . -type f -name '*.htm' | xargs -n1 file --mime-encoding | grep 'utf-8'