文字エンコーディングによるファイル検索

サブフォルダ以下にある *.c ファイルのなかから、特定の文字コード(UTF-8)であるものをリストアップする。

 

nkf –guess の出力例

 

1. find

  • . : カレントフォルダから再帰的に検索する。
  • -name '*.c' : 拡張子が c のファイルを検索する。
  • -type f : 検索対象をファイルとする。(フォルダを除く)
  • -print0 : 文字列区切りをNUL文字とする。(デフォルトは改行文字)

 

2. xargs

  • -0 : 文字列区切りをNUL文字とする。(デフォルトは改行文字)

 

3. nkf

  • -guess : 文字エンコーディングを判定(推測)する。

 

4. grep

  • 'UTF-8' : 検索対象の文字列を 'UTF-8' とする。

 


 

-exec

  • 検索でマッチしたファイルパス名で "nkf --guess" を実行する。
  • {} がパス名に置き換えられる。
  • +   グループ実行。可能な限り多くの複数のパス名でnkfコマンドを実行する。
          【例】 nkf --guess foo.c bar.c fiz.c
  • \;   単体実行。パス名毎に一つ一つnkfコマンドを実行する。
          【例】 nkf --guess foo.c; nkf --guess bar.c; nkf --guess fiz.c

 

関連リンク