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: