.
Counter: 12899, today: 3, yesterday: 3

CAPのファイル名をEUCで表示

SAMBAでCAPコードで書かれた日本語のみ、EUCに変換して標準出力するプログラムです。/tmp などに下記のスクリプトと jcode.pl を入れて、変換したいディレクトリを指定してください。

【重要】
プログラムのコメントを取ると再起的に全ディレクトリ内のファイルを調べ、無条件にファイル名をEUCに変換していきます。SAMBAをEUCで使う時に利用できますが、元に戻すことはできませんので細心の注意が必要です。

プログラムをさわらなければ表示のみなので危険は何もありません。

USAGE: $ perl code.pl /var/samba/public

#!/usr/bin/perl
require "jcode.pl";

if(!@ARGV){$d=".";}else{$d=$ARGV[0];}
&CodeConv($d);

sub CodeConv{
my ($dir) = @_;
my (@f,$fo,$co,$a);

   opendir(IN,$dir);
      @f=readdir IN;
   close IN;

   foreach (@f){
      if (/^[^\.]/){
         $fo = $_;
         s/\:([0-9a-f][0-9a-f])/sprintf "%c",hex($1)/geo;
         $co = &jcode'getcode(*_);
         if ($co eq "sjis"){
            $a = &jcode'sjis2euc(*_);
#            rename "$dir/$fo","$dir/$_";
#            print "Convert: $dir/$fo -> $dir/$_\n";
            print "$fo -> $_\n";
         }
#         if ( -d "$dir/$_" ){
#            &CodeConv("$dir/$_");
#         }
      }
   }
}


リロード   差分 ソース ファイル添付 添付ファイル一覧   Wikiトップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
トラックバック [ トラックバック(0) ]
トラックバック URL: http://linuxexpert.ne.jp/modules/pukiwiki/tb/67

Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

Linuxexpert is one of the service presented by InfomationSquare. / OmakaseBlog Login  |  Register Now!