[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rinominare file accentati,



Fabio Nigi wrote:

>ciao a tutti,
>ho una serie di file(molti file), che hanno spazi e caratteri accentati,
>vorrei con uno script,
>eliminare gli spazi e sostituire le lettere accentate con le lettere
>senza accento, a scripting sono un pò ridotto male, qualcuno mi da una mano?
>
>
>Grazie Fabio
>
>  
>
io uso questo script scritto da me, non e' la perfezione ma direi che e'
passabile.
mettilo in un file chiamato sistema_nome e usalo cosi':
perl sistema_nome nomefiledarinominare

#!/usr/bin/perl
#
 
use File::Copy;
use strict;
 
#chiudiamo lo standard error per mascherare eventuali messaggi
close(STDERR);
 
print "use: sistema_nome [FILE]\n" if $#ARGV < 0;
if ($#ARGV < 0){ exit;}
 
$_ = $ARGV[0];
 
#converte tutte le accentate
tr/àèéìòù/aeeiou/;
 
# Toglie tutto il resto
s/[^\w .-]//sg;
 
#mette tutto a lowercase (a me piace cosi')
tr/A-Z/a-z/;
 
# Converte spazi, elimina ridondanze di distanziamento
s/[\s_]+/_/g;
 
# Elimina spuri iniziali e finali
s/^[_-]+//;
s/[_-]+$//;
s/_-_/-/;
 
# Per essere sicuri... da un nome file tipo " _ "
$_ = "_" unless length($_);
 
move($ARGV[0],$_);
print "$ARGV[0] -> $_\n";


-- 
--------------------------------
      Daniele Ludovici
    My GPG Key:0xBABEC3C4
On Jabber: ludan@jabber.linux.it
--------------------------------



Reply to: