如何从命令行检查 utf-8 文本文件是否具有 BOM?
file
命令显示我UTF-8 Unicode text
。
但我不知道这意味着文件中没有 BOM。
我正在使用Ubuntu 12.04
.
vin*_*c17 39
file
会告诉你是否有 BOM。您可以测试:
$ /usr/bin/printf "\ufeff...\n" | file -
/dev/stdin: UTF-8 Unicode (with BOM) text
Run Code Online (Sandbox Code Playgroud)
注意:根据更新file
日志,这个功能在 2007 年就已经存在了。所以,这应该适用于任何当前的机器。
小智 8
如果你执行stat fileName
它应该给你确切的三个字符。当我在编辑器中打开文件时,我什么也看不到。所以注意到文件大小为 3 让我清楚它有一个 BOM。
此外,这里的帖子对我来说很有帮助。
hexdump -n 3 -C 2.txt
00000000 ef bb bf
ef bb bf // YES
Run Code Online (Sandbox Code Playgroud)