arruma_nomes.pl

Publicado por zé ricardo 21/02/2005

[ Hits: 6.172 ]

Download rightmp3names.pl




É um script bem simples que "arruma" os nomes de mp3.
Está bem comentado, assim cada um pode tirar o que não gostar.
Ele pega os arquivos .mp3 de um diretório e retirar os espaços, vírgulas, firulas e afins.. e deixa tudo em letra minúsculas. Quem gosta de modo texto sabe que é um saco ficar "escapando" os nomes das mp3 e etc.

  



Esconder código-fonte

#!/usr/bin/perl -w 

# Autor: Zé Ricardo (zehzinho@gmail.com)
#
# Renomeia os arquivos mp3, de forma que os espacos e caracteres estranhos
# sejam removidos
# 
# Uso: ./rightmp3names.pl <dir>
# Se "dir" nao for passado, usa-se o diretorio atual
#
# Para instalar String::ShellQuote use Cpan
# cpan (enter)
# install String::ShellQuote

use strict;
use warnings;
use String::ShellQuote; # seguranca, "escapa" uma string para o bash
use Cwd; # para getcwd()

unless ($ARGV[0]) 
{
    $dir = getcwd;
}
else
{
    $dir = $ARGV[0]; # nao vem
}   

unless ($dir =~ /[\/]$/) { $dir .= "/"; }

opendir (DIR, $dir) or die $!;

my @arquivos = grep /\.mp3$/i, readdir DIR;

foreach my $mp3file (@arquivos)
{
    $new_name = $mp3file;
    $new_name =~ s/\s+/_/g; # tira os espacos
    $new_name =~ s/_-_/-/g; # tranforma "_-_" em apenas "-"
    $new_name =~ s/^[-_]+//; # elimina '-' e '_' do inicio
    $new_name =~ s/&/and/g; # transforma & em "and"
    $new_name =~ s/[\(\)\[\]]+/_/g; # () e [] viram _
    $new_name =~ s/,/_/g;
    $new_name =~ s/\'+/_/g; # elimina as aspas
    $new_name =~ s/\`+/_/g; # elimina as crases
    $new_name =~ s/_+/_/g;  # elimina "_" sequenciais
    $new_name =~ s/-+/-/g;  # elimina "-" sequenciais

    $new_name = lc $new_name; # todas as letras ficam minusculas

    # faz a modificacao se ouve alteracao
    if ($new_name ne $mp3file)
    {
   $dir = shell_quote ($dir);
   $mp3file = shell_quote ($mp3file);
   $new_name = shell_quote ($new_name);
   system "mv $dir$mp3file $dir$new_name";
   print "\n$mp3file virou $new_name";
    }    
}

closedir DIR;

Scripts recomendados

script para localizar conteudo de arquivo

Eliminando caracteres indesejados

Inserindo sites em Lista do Squid

Listar arquivos de um diretório.

Script que procura uma palavra em um arquivo.


  

Comentários
[1] Comentário enviado por ksandim em 30/09/2005 - 17:11h

E ai Zé...
Blz...
Posta a versão Nova ai pra nois...
A com arrumação recursiva...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts