Đối với mục đích gỡ lỗi, tôi cần tìm kiếm đệ quy một thư mục cho tất cả các tệp bắt đầu bằng dấu thứ tự byte UTF-8 (BOM). Giải pháp hiện tại của tôi là một script shell đơn giản:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
Hoặc, nếu bạn thích các dòng chữ ngắn, không đọc được:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Nó không hoạt động với các tên tệp có dấu ngắt dòng, nhưng dù sao thì các tệp như vậy cũng không được mong đợi.
Có giải pháp nào ngắn hơn hoặc thanh lịch hơn không?
Có trình soạn thảo văn bản hoặc macro nào thú vị cho trình soạn thảo văn bản không?