Vì mục đích gỡ lỗi, tôi cần đệ quy tìm kiếm 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 kịch bản đơn giản:Cách thanh lịch để tìm kiếm tệp UTF-8 bằng BOM?
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 ngắn, không thể đọc được một lớp lót:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Nó không làm việc với tên tệp chứa một ngắt dòng, nhưng các tệp như vậy sẽ 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 chỉnh sửa văn bản thú vị hoặc macro nào cho trình chỉnh sửa văn bản không?
Brilliant, sir ... cảm ơn bạn! :-) – KyleFarris
Phát hiện PDF không chính xác bằng dấu BOM .. đó là do nó tìm kiếm toàn bộ tài liệu, không chỉ dòng đầu tiên –
Sửa đổi tệp nhị phân ... –