Linux Unix:检查文件的编码

Linux Unix:检查文件的编码,linux,shell,unix,Linux,Shell,Unix,我有一个带有特殊字符的文件。要在hadoop配置单元中加载这些文件,该文件应为UTF-8格式 当我键入file-bi$filename命令来获取编码类型时,它会给出text/plain;字符集=美国ascii码 然后,我使用图标通过以下方式转换为utf-8: iconv -f iso-8859-1 -t utf8 $filename > ${filename}_conv 现在,此utf-8文件已成功加载到配置单元中。 但是当我运行file-bi$${filename}\u conv命令时

我有一个带有特殊字符的文件。要在hadoop配置单元中加载这些文件,该文件应为UTF-8格式

当我键入
file-bi$filename
命令来获取编码类型时,它会给出text/plain;字符集=美国ascii码

然后,我使用图标通过以下方式转换为utf-8:

iconv -f iso-8859-1 -t utf8 $filename > ${filename}_conv
现在,此utf-8文件已成功加载到配置单元中。 但是当我运行
file-bi$${filename}\u conv
命令时,它给出: 文本/纯文本;字符集=美国ascii码

我希望字符集是utf8,但它返回ascii

有没有其他方法可以找到编码。因为我可能会重复使用该文件,不想再次编码

没有isutf8或chardet,我尝试了file-mime。 所有这些似乎都不起作用

是否有任何其他命令可用于确定编码类型,这将非常有用


多谢各位

us ascii
的简单意思是“文件没有Unicode BOM,并且在示例中没有找到特殊字符,因此它可能是ascii-7bit编码”。您可以使用良好的旧
tr
删除所有alphanum字符,或者删除所有标点符号,以查看剩下的内容。如果我不转换为utf-8,则输出显示为O�LE而不是O'LE。我使用ISO8859-1,因为其他iconv失败或创建了不完整的文件。请提供帮助