15 EKİM 2008, ÇARŞAMBA
UTF-8 için arama yapmak için zarif bir yol BOM ile dosyalar?
Hata ayıklama amacıyla, özyinelemeli arama için UTF-8 bayt sırası işareti (BOM) ile başlayan tüm dosyaları için bir dizin istiyorum. Benim geçerli çözüm basit bir kabuk
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
Eğer tercih ederseniz, ya da,, tek gömlekleri: kısa okunmaz
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Satır sonu içeren dosya adları ile çalışmıyor ama bu tür dosyalar zaten beklenmez.
Daha kısa ya da daha zarif bir çözüm var mı?
Metin editörleri için herhangi bir ilginç metin editörü veya makro var mı?
CEVAP
18 Mayıs 2010, Salı
Ne değil, ama kötü BOM bulur temizler, bu basit bir komut? :)
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;
Seviyorum "":)
Eğer sadece BOM dosyalarını göstermek istiyorsanız, bu kullanın:
grep -rl $'\xEF\xBB\xBF' .
Bunu Paylaş:
Nasıl dava Vim / küçük harf duyarlı ar...
Tarayıcılar önbelleğe CSS yeniden zorl...
Nasıl bir WordPress kullanmak yapmadan...
Nasıl belirli bir dize için depodaki G...
Projedeki tüm dosyalar için arama meti...