#!/usr/bin/perl -w
use Getopt::Std;
$fromenc=$opts{'f'} if defined $opts{'f'};
$toenc=$opts{'t'} if defined $opts{'t'};
if($toenc){}else{$toenc="utf-8"};
if($fromenc){}else{$fromenc="koi8-r"};
$filename=$ARGV[0];
$tags=`id3v2 -l "$filename"`;
($artist)=$tags=~/TIT2.+?:(.*)/;
($title)=$tags=~/TPE1.+?:(.*)/;
($album)=$tags=~/TALB.+?:(.*)/;
chomp($artist);
chomp($album);
chomp($title);
if($artist){$newartist=(`echo "$artist" | iconv -f $fromenc -t $toenc`)}else{$newartist=""};
if($title){$newtitle=(`echo "$title" | iconv -f $fromenc -t $toenc`)}else{$newtitle=""};
if($album){$newalbum=(`echo "$album" | iconv -f $fromenc -t $toenc`)}else{$newalbum=""};
`id3v2 -a "$newartist" -A "$newalbum" -t "$newtitle" "$filename"`;
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания. И восемь строк матом...(бесплатно)
Подожди чуть-чуть. Я-таки надеюсь что к этому скрипту снизойдет madskull, вот тогда мы скрипт в "проекты" и перенесем.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания. И восемь строк матом...(бесплатно)
#!/usr/bin/perl -w
use strict;
use Getopt::Std;
use Text::Iconv;
my %opts;
getopts('f:t:', \%opts);
my ($fromenc,$toenc) = ("koi8-r","utf-8");
$fromenc=$opts{'f'} if defined $opts{'f'};
$toenc=$opts{'t'} if defined $opts{'t'};
my $filename=$ARGV[0] or die "Usage: bla-bla-bla";
my $tags=`id3v2 -l "$filename"`;
my ($artist)=$tags=~/TIT2.+?:\s*(.*)/;
my ($title)=$tags=~/TPE1.+?:\s*(.*)/;
my ($album)=$tags=~/TALB.+?:\s*(.*)/;
my $iconv = new Text::Iconv($fromenc, $toenc);
my ($newartist,$newtitle,$newalbum) = (
$artist? '-a "'.$iconv->convert($artist).'"': "",
$title? '-t "'.$iconv->convert($title).'"': "",
$album? '-A "'.$iconv->convert($album).'"': "",
);
`id3v2 $newartist $newalbum $newtitle "$filename"`;
Не проверял!!!
Хотя, по большому счету, надо было добавить только забытый getopts('f:t:', \%opts)
Вспомнил тут, как сам в свое время мучался с кодировками mp3. Тоже писал всякие гадости Правда потом узнал, что MusicPD все и сам умеет и плюнул. Но потом меня кое чего не устроило, и я написал вот эту гадость (мож пригодится кому):
На всякий случай - оно раскидывает mp3'шки по каталогам. Когда-то там была еще одна строчечка с id3v2, но потом за ненадобностью отмерла. Гадость родилась быстро и использовалась всего однажды. Как следствие - поле для усовершенствования имеется.
2.6.14-gentoo-r5 kde-3.5.0 | openbox-3.2 Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
а для переименования convmv совсем не катит?
тема-то вроде начиналась про перекодировку тегов, а продолжилась уже в переименовании...
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян. Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!