arruma_nomes.pl
Publicado por zé ricardo 21/02/2005
[ Hits: 5.853 ]
É 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.
#!/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;
Manipulação de Arquivos Orientada a Objetos
Eliminando caracteres indesejados
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba