डीबगिंग उद्देश्यों के लिए, मुझे उन सभी फ़ाइलों के लिए एक निर्देशिका को पुन: खोज करने की आवश्यकता है जो 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
यह फ़ाइल नाम के साथ काम नहीं करता है जिसमें एक लाइन ब्रेक होता है, लेकिन ऐसी फ़ाइलों की वैसे भी उम्मीद नहीं की जाती है।
क्या कोई छोटा या अधिक सुरुचिपूर्ण समाधान है?
क्या पाठ संपादकों के लिए कोई दिलचस्प टेक्स्ट एडिटर या मैक्रोज़ हैं?