• 締切済み

BOMを含むテキストファイルを検索する方法

複数のテキストファイルがあるのですが、その中からBOMが不可されているテキストファイルを知りたいのです。 できればWindowsではなく、Linux上でできるといいのですが、grepなどで検索することはできるのでしょうか。ffefという2バイトを含むということでいいと思ったのですが、それをどのようにして指定してやればいいのでしょうか。

みんなの回答

  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

BOMは7種類あるようです。 http://www.atmarkit.co.jp/fxml/rensai/w3cread37/w3cread37_3.html こんな感じでどうでしょう? #!/usr/local/bin/perl @bom = (  chr(0x00).chr(0x00).chr(0xFE).chr(0xFF),  chr(0xFF).chr(0xFE).chr(0x00).chr(0x00),  chr(0x00).chr(0x00).chr(0xFF).chr(0xFE),  chr(0xFE).chr(0xFF).chr(0x00).chr(0x00),  chr(0xFE).chr(0xFF),  chr(0xFF).chr(0xFE),  chr(0xEF).chr(0xBB).chr(0xBF) ); #// カレントフォルダオープン opendir(DIR, './') or die; @files = sort readdir(DIR); closedir(DIR); foreach (@files) {  if(-f $_){   open(FILE, $_) or die;   $dat = <FILE>;   for(my $i = 0; $i <= $#bom; $i++){    if(index($dat, $bom[$i]) == 0){     print "$_\n";     last;    }   }   close(FILE);  } } #見やすいように、全角スペースが入ってますので、TABなどに置換してから実行してください。

参考URL:
http://www.atmarkit.co.jp/fxml/rensai/w3cread37/w3cread37_3.html
higuchon
質問者

お礼

ありがとうございます!うまく抽出することができました。

関連するQ&A

専門家に質問してみよう