Do celów debugowania muszę rekurencyjnie przeszukiwać katalog dla wszystkich plików, które zaczynają się od znacznika kolejności bajtów UTF-8 (BOM). Moje obecne rozwiązanie to prosty skrypt powłoki:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
Lub, jeśli wolisz krótkie, nieczytelne jednowierszowe:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Nie działa z nazwami plików, które zawierają podział wiersza, ale takich plików i tak nie należy się spodziewać.
Czy jest jakieś krótsze lub bardziej eleganckie rozwiązanie?
Czy są jakieś interesujące edytory tekstu lub makra do edytorów tekstu?