สำหรับวัตถุประสงค์ในการดีบักฉันจำเป็นต้องค้นหาไดเร็กทอรีซ้ำสำหรับไฟล์ทั้งหมดที่ขึ้นต้นด้วยเครื่องหมายคำสั่งไบต์ 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
ใช้ไม่ได้กับชื่อไฟล์ที่มีตัวแบ่งบรรทัด แต่ไม่ควรคาดหวังไฟล์ดังกล่าว
มีวิธีแก้ปัญหาที่สั้นกว่าหรือสวยงามกว่านี้ไหม?
มีโปรแกรมแก้ไขข้อความหรือมาโครที่น่าสนใจสำหรับโปรแกรมแก้ไขข้อความหรือไม่?