UTF-8 の BOM (Byte Order Mark) があるかどうかを判定する。オプションにより書いたり消したりする。
$0 ファイル名 [ファイル名] [ファイル名] ..
多数のファイルを処理するには、find . | xargs -n 100 $0 のように指定すると良いだろう。
オプション :
-A : 指定した各ファイルに UTF-8のBOM を追加する。
-D : 指定した各ファイルに UTF-8のBOM を除去する。
-B : 指定したファイル名Bに対しB.bakをBへ。BがあればB.bakへ。-i で.bakの部分は変更可能。
-F : -i でバックアップされたと思われる様な、特定の拡張子を持っていても、そのファイルに処理をする。(forced)
-! : 元のファイルを残さない。
-b : バイトサイズを出力する。(現状 -Aまたは-Dが指定された場合は無効。)
-i str : 元のファイルに対して,指定文字列の拡張子を付属して残す。未指定なら、".bak"。
-q : どのファイルを処理した,と言うような情報の出力を抑制する。
開発上のメモ :
* 0バイトのファイルに対する処理を,適切に行うようにしたい。
* ファイルに対して処理するので無くて,標準入力に対する処理を加えたい。-p または -1で。
* 出力する空白文字の個数の指定をもっとスマートにしたい。ファイル名に対する囲み文字を統一したい。