[Comm] Изменение расширения для большого количества файлов.

Olvin =?iso-8859-1?q?olvin_=CE=C1_rambler=2Eru?=
Чт Мар 10 16:02:51 MSK 2005


Grigory Soloviov wrote:
> Помогите с проблемой, есть ~50 Gb mp3 и какая-то часть из этих файлов 
> имеет расширение "MP3", а не "mp3" чем усложняет создание плейлиста.
> Помгите со скриптом, что бы перевести расширения всех файлов в 
> нормальный вид т.е. "mp3".
> Предвосхищая вопрос отвечаю, все копировалось с винды на linux.

#!/usr/bin/perl

$L{'A'}='a';
$L{'B'}='b';
$L{'C'}='c';
$L{'D'}='d';
$L{'E'}='e';
$L{'F'}='f';
$L{'G'}='g';
$L{'H'}='h';
$L{'I'}='i';
$L{'J'}='j';
$L{'K'}='k';
$L{'L'}='l';
$L{'M'}='m';
$L{'N'}='n';
$L{'O'}='o';
$L{'P'}='p';
$L{'Q'}='q';
$L{'R'}='r';
$L{'S'}='s';
$L{'T'}='t';
$L{'U'}='u';
$L{'V'}='v';
$L{'W'}='w';
$L{'X'}='x';
$L{'Y'}='y';
$L{'Z'}='z';

opendir(FD,$ARGV[0]);
@DIR=readdir(FD);
closedir(FD);

foreach $a(@DIR){
  $b=$a;
  for($i=0;$i<length($a);$i++){
   $c=$L{substr($a,$i,1)};
   if($c ne ''){
    substr($a,$i,1)=$c;
   }
  }
  rename($ARGV[0].'/'.$b,$ARGV[0].'/'.$a);
}

В качестве параметра принимает имя директории, имена файлов в которой 
надо привести к нижнему регистру. Не только расширение, но всё (!!!) имя 
файла!



Подробная информация о списке рассылки community