Для налагодження мені потрібно рекурсивно шукати в каталозі всі файли, які починаються з позначки порядку байтів UTF-8 (BOM). Моє поточне рішення - простий скрипт оболонки:
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
Він не працює з назви файлів, які містять розрив рядка, але таких файлів у будь-якому разі не варто очікувати.
Чи є якесь коротше або елегантніше рішення?
Чи є якісь текстові редактори чи макроси для текстових редакторів?