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

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

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

あるディレクトリの中にあるファイルをすべて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コマンド [#ta1349b0]

文字コードを変換してくれるコマンドです。

引数はこんな感じです。
--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    : バージョン情報を表示(インストール済チェック)

***参考サイト [#p8c17475]
-http://blog.mufu.jp/2008/07/1bourn-shell.html
-http://jp.layer8.sh/reference/entry/show/id/744