À des fins de débogage, j'ai besoin de recherche de manière récursive un répertoire de tous les fichiers qui commencent avec un encodage UTF-8 marque d'ordre des octets (BOM). Ma solution actuelle est un simple script shell:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
Ou, si vous préférez court, illisible, one-liners:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Il ne fonctionne pas avec des noms de fichiers qui contiennent un saut de ligne, mais ces fichiers ne sont pas à craindre de toute façon.
Est-il plus ou moins solution plus élégante?
Il n'existe aucun texte intéressant des éditeurs ou des macros pour les éditeurs de texte?