created: 2019-06-19T08:09:44.000Z
recodeコマンドでファイルの文字/改行コードを変更する
文字コードの変換をするときはiconvを使うことが多かったが、recodeコマンドのほうが便利なことが多い
- 既存ファイルに置き換え(inplace)で文字コードが変更できる
- 改行コード(CR-LFなど)の変換も対応している
- 複数ファイルを引数に取ることができる
たとえばディレクトリ配下のcsvファイルをすべて {UTF16 => UTF-8} と変更したい場合は下記の1行で済む
$ recode UTF-16..UTF-8 "$f" $(ls -1 ./*.csv)
対応している変換方式
対応している変換方式は --list
で出てくる
base64なども変換できるようだ
$ recode --list | head
/21-Permutation swabytes
/4321-Permutation
/Base64 64 b64
/CR
/CR-LF cl
/Decimal-1 d d1
/Decimal-2 d2
/Decimal-4 d4
/Hexadecimal-1 x x1
/Hexadecimal-2 x2
bash
インストールはmacならbrewで入る
brew install recode