出于调试目的,我需要递归搜索以 UTF-8 字节顺序标记 (BOM) 开头的所有文件的目录。我目前的解决方案是一个简单的 shell 脚本:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
或者,如果您更喜欢简短、不可读的单行字:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
它不适用于包含换行符的文件名,但无论如何都不会期望此类文件。
有没有更短或更优雅的解决方案?
是否有任何有趣的文本编辑器或文本编辑器的宏?