SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006