Advertisement
overloop

jp_mv.pl

Jun 29th, 2013
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6.42 KB | None | 0 0
  1. #!/usr/bin/perl
  2. #this script will rename all subfolders to web-safe names (using romaji)
  3. {
  4.     open( $fh, "-|", "find", ".", "-type", "d" );
  5.     while (my $line = <$fh>) {
  6.         chomp($line);
  7.         $line =~ s,^\./,,;
  8.         my $newname = $line;
  9.         my $oldname = $line;
  10.         #katakana
  11.         $newname =~ s/キャ/kya/g;
  12.         $newname =~ s/ギャ/gya/g;
  13.         $newname =~ s/キュ/kyu/g;
  14.         $newname =~ s/ギュ/gyu/g;
  15.         $newname =~ s/キョ/kyo/g;
  16.         $newname =~ s/ギョ/gyo/g;
  17.         $newname =~ s/シャ/sha/g;
  18.         $newname =~ s/ジャ/ja/g;
  19.         $newname =~ s/シュ/shu/g;
  20.         $newname =~ s/ジュ/juy/g;
  21.         $newname =~ s/ショ/sho/g;
  22.         $newname =~ s/ジョ/jo/g;
  23.         $newname =~ s/チャ/cha/g;
  24.         $newname =~ s/ヂャ/ja/g;
  25.         $newname =~ s/チュ/chu/g;
  26.         $newname =~ s/ヂュ/ju/g;
  27.         $newname =~ s/チョ/cho/g;
  28.         $newname =~ s/ヂョ/jo/g;
  29.         $newname =~ s/ニャ/nya/g;
  30.         $newname =~ s/ニュ/nyu/g;
  31.         $newname =~ s/ニョ/nyo/g;
  32.         $newname =~ s/ヒャ/hya/g;
  33.         $newname =~ s/ビャ/bya/g;
  34.         $newname =~ s/ピャ/pya/g;
  35.         $newname =~ s/ヒュ/hyu/g;
  36.         $newname =~ s/ビュ/byu/g;
  37.         $newname =~ s/ピュ/pyu/g;
  38.         $newname =~ s/ヒョ/hyo/g;
  39.         $newname =~ s/ビョ/byo/g;
  40.         $newname =~ s/ピョ/pyo/g;
  41.         $newname =~ s/ミャ/mya/g;
  42.         $newname =~ s/ミュ/myu/g;
  43.         $newname =~ s/ミョ/myo/g;
  44.         $newname =~ s/リャ/rya/g;
  45.         $newname =~ s/リュ/ryu/g;
  46.         $newname =~ s/リョ/ryo/g;
  47.         $newname =~ s/ア/a/g;
  48.         $newname =~ s/イ/i/g;
  49.         $newname =~ s/ウ/u/g;
  50.         $newname =~ s/エ/e/g;
  51.         $newname =~ s/オ/o/g;
  52.         $newname =~ s/カ/ka/g;
  53.         $newname =~ s/ガ/ka/g;
  54.         $newname =~ s/キ/ki/g;
  55.         $newname =~ s/ギ/gi/g;
  56.         $newname =~ s/ク/ku/g;
  57.         $newname =~ s/グ/gu/g;
  58.         $newname =~ s/ケ/ke/g;
  59.         $newname =~ s/ゲ/ge/g;
  60.         $newname =~ s/コ/ko/g;
  61.         $newname =~ s/ゴ/go/g;
  62.         $newname =~ s/サ/sa/g;
  63.         $newname =~ s/ザ/za/g;
  64.         $newname =~ s/シ/shi/g;
  65.         $newname =~ s/ジ/ji/g;
  66.         $newname =~ s/ス/su/g;
  67.         $newname =~ s/ズ/zu/g;
  68.         $newname =~ s/セ/se/g;
  69.         $newname =~ s/ゼ/ze/g;
  70.         $newname =~ s/ソ/so/g;
  71.         $newname =~ s/ゾ/zo/g;
  72.         $newname =~ s/タ/ta/g;
  73.         $newname =~ s/ダ/da/g;
  74.         $newname =~ s/チ/chi/g;
  75.         $newname =~ s/ヂ/ji/g;
  76.         $newname =~ s/ツ/tsu/g;
  77.         $newname =~ s/ヅ/dzu/g;
  78.         $newname =~ s/テ/te/g;
  79.         $newname =~ s/デ/de/g;
  80.         $newname =~ s/ト/to/g;
  81.         $newname =~ s/ド/do/g;
  82.         $newname =~ s/ナ/na/g;
  83.         $newname =~ s/ニ/ni/g;
  84.         $newname =~ s/ヌ/nu/g;
  85.         $newname =~ s/ネ/ne/g;
  86.         $newname =~ s/ノ/no/g;
  87.         $newname =~ s/ハ/ha/g;
  88.         $newname =~ s/バ/ba/g;
  89.         $newname =~ s/パ/pa/g;
  90.         $newname =~ s/ヒ/hi/g;
  91.         $newname =~ s/ビ/bi/g;
  92.         $newname =~ s/ピ/pi/g;
  93.         $newname =~ s/フ/fu/g;
  94.         $newname =~ s/ブ/bu/g;
  95.         $newname =~ s/プ/pu/g;
  96.         $newname =~ s/ヘ/he/g;
  97.         $newname =~ s/ベ/be/g;
  98.         $newname =~ s/ペ/pe/g;
  99.         $newname =~ s/ホ/ho/g;
  100.         $newname =~ s/ボ/bo/g;
  101.         $newname =~ s/ポ/po/g;
  102.         $newname =~ s/マ/ma/g;
  103.         $newname =~ s/ミ/mi/g;
  104.         $newname =~ s/ム/mu/g;
  105.         $newname =~ s/メ/me/g;
  106.         $newname =~ s/モ/mo/g;
  107.         $newname =~ s/ヤ/ya/g;
  108.         $newname =~ s/ユ/yu/g;
  109.         $newname =~ s/ヨ/yo/g;
  110.         $newname =~ s/ラ/ra/g;
  111.         $newname =~ s/リ/ri/g;
  112.         $newname =~ s/ル/ru/g;
  113.         $newname =~ s/レ/re/g;
  114.         $newname =~ s/ロ/ro/g;
  115.         $newname =~ s/ワ/wa/g;
  116.         $newname =~ s/ヰ/wu/g;
  117.         $newname =~ s/ヱ/we/g;
  118.         $newname =~ s/ヲ/wo/g;
  119.         $newname =~ s/ン/n/g;
  120.         #hiragana
  121.         $newname =~ s/きゃ/kya/g;
  122.         $newname =~ s/ぎゃ/gya/g;
  123.         $newname =~ s/きゅ/kyu/g;
  124.         $newname =~ s/ぎゅ/gyu/g;
  125.         $newname =~ s/きょ/kyo/g;
  126.         $newname =~ s/ぎょ/gyo/g;
  127.         $newname =~ s/しゃ/sha/g;
  128.         $newname =~ s/じゃ/ja/g;
  129.         $newname =~ s/しゅ/shu/g;
  130.         $newname =~ s/じゅ/juy/g;
  131.         $newname =~ s/しょ/sho/g;
  132.         $newname =~ s/じょ/jo/g;
  133.         $newname =~ s/ちゃ/cha/g;
  134.         $newname =~ s/ぢゃ/ja/g;
  135.         $newname =~ s/ちゅ/chu/g;
  136.         $newname =~ s/ぢゅ/ju/g;
  137.         $newname =~ s/ちょ/cho/g;
  138.         $newname =~ s/ぢょ/jo/g;
  139.         $newname =~ s/にゃ/nya/g;
  140.         $newname =~ s/にゅ/nyu/g;
  141.         $newname =~ s/にょ/nyo/g;
  142.         $newname =~ s/ひゃ/hya/g;
  143.         $newname =~ s/びゃ/bya/g;
  144.         $newname =~ s/ぴゃ/pya/g;
  145.         $newname =~ s/ひゅ/hyu/g;
  146.         $newname =~ s/びゅ/byu/g;
  147.         $newname =~ s/ぴゅ/pyu/g;
  148.         $newname =~ s/ひょ/hyo/g;
  149.         $newname =~ s/びょ/byo/g;
  150.         $newname =~ s/ぴょ/pyo/g;
  151.         $newname =~ s/みゃ/mya/g;
  152.         $newname =~ s/みゅ/myu/g;
  153.         $newname =~ s/みょ/myo/g;
  154.         $newname =~ s/りゃ/rya/g;
  155.         $newname =~ s/りゅ/ryu/g;
  156.         $newname =~ s/りょ/ryo/g;
  157.         $newname =~ s/あ/a/g;
  158.         $newname =~ s/い/i/g;
  159.         $newname =~ s/う/u/g;
  160.         $newname =~ s/え/e/g;
  161.         $newname =~ s/お/o/g;
  162.         $newname =~ s/か/ka/g;
  163.         $newname =~ s/が/ka/g;
  164.         $newname =~ s/き/ki/g;
  165.         $newname =~ s/ぎ/gi/g;
  166.         $newname =~ s/く/ku/g;
  167.         $newname =~ s/ぐ/gu/g;
  168.         $newname =~ s/け/ke/g;
  169.         $newname =~ s/げ/ge/g;
  170.         $newname =~ s/こ/ko/g;
  171.         $newname =~ s/ご/go/g;
  172.         $newname =~ s/さ/sa/g;
  173.         $newname =~ s/ざ/za/g;
  174.         $newname =~ s/し/shi/g;
  175.         $newname =~ s/じ/ji/g;
  176.         $newname =~ s/す/su/g;
  177.         $newname =~ s/ず/zu/g;
  178.         $newname =~ s/せ/se/g;
  179.         $newname =~ s/ぜ/ze/g;
  180.         $newname =~ s/そ/so/g;
  181.         $newname =~ s/ぞ/zo/g;
  182.         $newname =~ s/た/ta/g;
  183.         $newname =~ s/だ/da/g;
  184.         $newname =~ s/ち/chi/g;
  185.         $newname =~ s/ぢ/ji/g;
  186.         $newname =~ s/つ/tsu/g;
  187.         $newname =~ s/づ/dzu/g;
  188.         $newname =~ s/て/te/g;
  189.         $newname =~ s/で/de/g;
  190.         $newname =~ s/と/to/g;
  191.         $newname =~ s/ど/do/g;
  192.         $newname =~ s/な/na/g;
  193.         $newname =~ s/に/ni/g;
  194.         $newname =~ s/ぬ/nu/g;
  195.         $newname =~ s/ね/ne/g;
  196.         $newname =~ s/の/no/g;
  197.         $newname =~ s/は/ha/g;
  198.         $newname =~ s/ば/ba/g;
  199.         $newname =~ s/ぱ/pa/g;
  200.         $newname =~ s/ひ/hi/g;
  201.         $newname =~ s/び/bi/g;
  202.         $newname =~ s/ぴ/pi/g;
  203.         $newname =~ s/ふ/fu/g;
  204.         $newname =~ s/ぶ/bu/g;
  205.         $newname =~ s/ぷ/pu/g;
  206.         $newname =~ s/へ/he/g;
  207.         $newname =~ s/べ/be/g;
  208.         $newname =~ s/ぺ/pe/g;
  209.         $newname =~ s/ほ/ho/g;
  210.         $newname =~ s/ぼ/bo/g;
  211.         $newname =~ s/ぽ/po/g;
  212.         $newname =~ s/ま/ma/g;
  213.         $newname =~ s/み/mi/g;
  214.         $newname =~ s/む/mu/g;
  215.         $newname =~ s/め/me/g;
  216.         $newname =~ s/も/mo/g;
  217.         $newname =~ s/や/ya/g;
  218.         $newname =~ s/ゆ/yu/g;
  219.         $newname =~ s/よ/yo/g;
  220.         $newname =~ s/ら/ra/g;
  221.         $newname =~ s/り/ri/g;
  222.         $newname =~ s/る/ru/g;
  223.         $newname =~ s/れ/re/g;
  224.         $newname =~ s/ろ/ro/g;
  225.         $newname =~ s/わ/wa/g;
  226.         $newname =~ s/ゐ/wu/g;
  227.         $newname =~ s/ゑ/we/g;
  228.         $newname =~ s/を/wo/g;
  229.         $newname =~ s/ん/n/g;
  230.         $newname =~ s/ー/-/g;
  231.         #need more safe symbols
  232.         $newname =~ s/[^a-zA-Z0-9()\[\]@.,]+/_/g;
  233.         rename $oldname,$newname;
  234.     }
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement