On Tue, Mar 24, 2009 at 12:59:12PM -0700, renator wrote:
> 
> esses tipos de caracteres: ñß¢Ð£Øø§µÝý¥¹²³ por exemplo.
> 
> Consegui adaptar um script, para alterar nomes com esses tipos de
> caracteres para hifen, mas nao consegui configurar o script para
> trabalhar recursivamente. Atualmente, o script esta desta forma:
> 
> for f in *; do
>     new=`echo $f | tr "àá|âãäåèéêëìíîïòóôõöùúûüçñß¢Ð£Øø§µÝý¥¹²³~?
> áÁéÉíÍóÓúÚâÂêÊôÔãÃõÕàÀòÒâð£þ®§ü" "-"`
>     if [ "$f" != "$new" ]; then
>         mv "$f" "$new"
>     fi
> done
> 
> 
> Se alguem puder me ajudar a fazer o script trabalhar recursivamente ou
> tiver outra sugestão, eu agradeço.
> 
> []'s,
> Renato

assumi que os caracteres em questão são os não ascii 7 (man ascii)
e que você precisa trocá-los por hífen, dessa forma você pode fazer
algo parecido com este 1liner:

find ./ -type f -regex '.*[^ -~].*' -exec sh -c 'new=`echo "{}" | tr -c "[ 
-~\n]" -`; echo mv -i "{}" $new' \;

mas atente para o fato de que ao renomear os caracteres para "-" você
pode acabar sobrescrevendo arquivos que passariam a ficar com nomes
iguais.


-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Conheça o Novo Forum do GUS-BR na Under-Linux.Org em:
http://under-linux.org/forums/slackware/
-~----------~----~----~----~------~----~------~--~---

Responder a