トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Linux:あるディレクトリのファイルをすべてutf8に変換 のバックアップ(No.1)


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 : バージョン情報を表示(インストール済チェック)

参考サイト