LinuxかWindowsでSJISのソースファイルを全部UTFに変換する方法。

フォルダ内をサブフォルダまで含めて全て且つ特定の拡張子のみという感じでやりたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/08 23:33:35
  • 終了:--

回答(4件)

id:Kumappus No.1

くまっぷす回答回数3784ベストアンサー獲得回数1852005/12/08 23:56:01

ポイント18pt

http://blog.livedoor.jp/nipotan/archives/2219057.html

一括文字コード変換 - にぽたん研究所

ここのblogに出てます。手元で確認できてないんで要テスト。ここの例は-eなんでEUCにしてますが、utf-8の場合だと確か-wですね。

(CentOSだとutf対応のnkfが乗ってると思いますが確認してください)

find . -name ’*.html’ | xargs nkf --overwrite -w

ですね。

http://namazu.org/~satoru/blog/archives/000041.html

いやなブログ: UTF-8 への移行計画

shellがzshなら

nkf -w --overwrite **/*.html.ja

も使えそうです。

id:kunitz

ありがとうございます!

nkf

2005/12/09 00:15:16
id:quintia No.2

quintia回答回数562ベストアンサー獲得回数712005/12/08 23:59:24

ポイント18pt

サブフォルダまで含めて、しかも拡張子指定ができるツールって意外に無いものですね……。

URLのソフトとWindowsのエクスプローラの検索を併用してできると思います。

フォルダの右クリック検索から、*.java などで検索して、その結果を全選択してこのソフトにドラッグ&ドロップすればよいかと。

id:kunitz

ありがとうございます!

2005/12/09 00:15:33
id:divspan No.3

divspan回答回数8ベストアンサー獲得回数02005/12/08 23:59:33

ポイント17pt

http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/

UTF-8 $BBP1~(B nkf (nkf_utf8)

Linuxでnkfとシェルスクリプトを組み合わせます

nkfは古い物だとUTFに対応していないので新しい物(最近のディストリビューションなら対応している物が入っているはず)を用意します。

以下の内容のファイルを用意します(~/toUTF.sh)

#!/bin/sh

for read in $*

do

cp $read $read.bak

nkf -w $read.bak > $read

done


用意できたら

$chmod u+x ~/toUTF.sh

等としてから

$ ~/toUTF.sh *.c

とすると、カレントディレクトリにあるファイル名が.cで終わるファイルの文字コードがが全部UTFになります。

サブフォルダまで含めて全部するならこちら

$ find -name ’*.c’ -exec ~/toUTF.sh ’{} ’ ’;’

(’は半角を用いてください)

ファイル名の末尾に.bakを付けたファイルを残すようにはしてありますが、試す前にバックアップをとることをお忘れ無く。

id:kunitz

ありがとうございます!

2005/12/09 00:18:35
id:mjy No.4

mjy回答回数67ベストアンサー獲得回数202005/12/09 00:43:50

ポイント17pt

find を使いましょう。


まず処理したいファイルのリストを得ます。

拡張子 ”txt” ならば、


$ find ./ -name ’*.txt’ -printf ’%p¥n’


これで正しければ、バックアップを取って置きましょう

# -printf で組み立てた cp コマンドを bash に渡し実行


$ find ./ -name ’*.txt’ -printf ’cp %p %p.sjis ¥n’ |bash


それでは本番

# -printf で組み立てた nkf コマンドを bash に渡し実行。

$ find ./ -name ’*.txt’ -printf ’nkf -w --overwrite %p¥n’ |bash

id:kunitz

ありがとうございます!

2005/12/09 10:13:25

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません