Linux:あるディレクトリのファイルをすべてutf8に変換
Last-modified: 2013-08-24 (土) 02:14:21 (3870d)
Top / Linux:あるディレクトリのファイルをすべてutf8に変換
Linux:あるディレクトリのファイルをすべてutf8に変換 †
あるディレクトリの中にあるファイルをすべてutf8に文字コード変換したい場合、こんな感じでやります。
今回は、対象のファイルがxmlの場合です。
#!/bin/bash FILELIST=filelist.txt OUTPATH=to_utf8/ ls -1 *.xml > ${FILELIST} for line in `cat ./${FILELIST}` do nkf -w ${line} > ${OUTPATH}to_utf8_${line} done
nkfコマンド †
文字コードを変換してくれるコマンドです。
引数はこんな感じです。
- -j(省略可能) : JISコード(ISO-2022-JP)を出力
- -e : EUCコードを出力
- -s : Shift-JISコードを出力
- -w : UTF-8コードを出力(BOM無し)
- -Lu : unix改行形式(LF)に変換
- -Lw : windows改行形式(CRLF)に変換
- -Lm : macintosh改行形式(CR)に変換
- -g(--guess) : 自動判別の結果を表示
- --overwrite : 引数のファイルに直接上書き
- --version : バージョン情報を表示(インストール済チェック)