LoginSignup
4
6

More than 5 years have passed since last update.

【15.09.18:再編】MacでBOM付きファイルを抽出する

Last updated at Posted at 2015-09-16

【150918:再編集】

MacでBOM付きファイルを探す方法を検索すると、
fileコマンドで(with BOM)と表示されるファイルを検索する方法がいくつかありました。

$ file BOM.txt
BOM.txt: UTF-8 Unicode (with BOM) text

しかし、fileコマンドでは(with BOM)表示されないBOM付きファイルがいくつも見つかったので、
別の方法を探しました。

そこで思いついたのが、hexdumpでバイナリを直接確認する方法でした。

find . -type f -name '*.php' | xargs -n1 hexdump -C | grep "ef bb bf"

上記のコマンドは、確かにBOM付きファイルを見つけることはできるのですが、
ファイルのパスや名前などが全く分からないため、著しく使い勝手の悪いコマンドでした。

そこで、他の検索方法をこの記事で教えて頂きたい旨を書いた所、
コメントでたくさんのアドバイスを頂くことができました。

結果、私の結論は下記のコマンドになりました。

grep -lr --include="*.php" ^$'\xef\xbb\xbf' .

解説

  • -l:検索条件にマッチしたファイル名を表示
  • -r:ディレクトリ内を再帰的に処理する
  • --include:検索対象のファイル名を指定
  • ^:正規表現で行の先頭を指定するメタ文字
  • $:エスケープ・シーケンスを使用する宣言
  • \xef\xbb\xbf:エスケープ・シーケンス/xにより16進数でBOMを指定

それでは、皆様も良いBOM付きファイル検索ライフをお送り下さい。

4
6
13

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6