Para fines de depuración, necesito buscar de forma recursiva en un directorio todos los archivos que comienzan con una marca de orden de bytes (BOM) UTF-8. Mi solución actual es un script de shell simple:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
O, si prefiere frases breves e ilegibles:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
No funciona con nombres de archivo que contienen un salto de línea, pero de todos modos no se esperan tales archivos.
¿Existe alguna solución más corta o más elegante?
¿Hay editores de texto o macros interesantes para editores de texto?