トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Linux:あるディレクトリのファイルをすべてutf8に変換

Last-modified: 2013-08-24 (土) 02:14:21 (3387d)
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 : バージョン情報を表示(インストール済チェック)

参考サイト