ラベル nkf の投稿を表示しています。 すべての投稿を表示
ラベル nkf の投稿を表示しています。 すべての投稿を表示

2011年2月1日火曜日

シェルスクリプトサンプル:一括文字コード変換


#!/bin/sh

# 作業ディレクトリ(現在地)
BASE=`pwd`

# 変換対象元ディレクトリ
DIR=/home/efiles3/public/iw/072_STG-Web

# 変換対象ファイルの拡張子を指定する。
FILE_TYPE=".txt"

# 変換先文字コードオプション(UTF-8:-w SJIS:-s EUC:-e)
CHARA_CODE="-s"


# 出力先ディレクトリ作成
if [ ${CHARA_CODE} = "-w" ];then
OUTPUT_DIR="output_utf-8"
elif [ ${CHARA_CODE} = "-s" ];then
OUTPUT_DIR="output_sjis"
elif [ ${CHARA_CODE} = "-e" ];then
OUTPUT_DIR="output_euc"
else
echo "Character code is not existing error !!"
exit 0
fi
mkdir ./$OUTPUT_DIR

# 文字コード変換
cd $DIR
for i in `ls -1` ; do
/usr/bin/nkf $CHARA_CODE $i > $BASE/$OUTPUT_DIR/$i
done
cd $BASE


exit 0

2008年4月16日水曜日

nkfのインストール

20080416
■ダウンロード
http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/nkf205.tar.gz


[root@asp-eim-apdb installer]# tar zxvf nkf205.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

↑サーバ上で解凍しようとしたがうまくいかないのでWindowsで解凍してからFTP。

[root@asp-eim-apdb nkf205]# make
cc -O -c utf8tbl.c
cc -O -o nkf nkf.c utf8tbl.o
[root@asp-eim-apdb nkf205]# make test
perl test.pl
Basic Conversion test
JIS to JIS ... Ok
JIS to SJIS... Ok
JIS to EUC ... Ok
(中略)
test_data/z1space-1 Ok
test_data/z1space-2 Ok

■バイナリファイルを配置
[root@asp-eim-apdb nkf205]# cp nkf /usr/bin/

■英語のマニュアルを配置
[root@asp-eim-apdb nkf205]# cp nkf.1 /usr/share/man/man1/


使用例)UTF8コードに変換する
nkf -w oracle_sjis/create_documentdb.sql > oracle_utf8/create_documentdb.sql

使用例)シフトJISコードに変換する
nkf -s oracle_utf8/create_documentdb.sql > oracle_sjis/create_documentdb.sql

※EUCコードに変換するなら、-e オプション。