Ola pessoal.
Desculpe a demora do retorno....ando meio na corrida....
Wagner, o script que estou utilizando é este abaixo:
for f in *; do
new=`echo $f | tr "àá|âãäåèéêëìíîïòóôõöùúûüçñß¢Ð£Øø§µÝý¥¹²³~?
áÁéÉíÍóÓúÚâÂêÊôÔãÃõÕàÀòÒâð£þ®§ü" "-"`
if [ "$f" != "$new" ]; then
mv "$f" "$new"
fi
done
Quando me refiro a ele não trabalhar recursivamente, quer dizer que se
eu rodar ele no /home, ele ira alterar somente os arquivos com
problemas que estao no /home, mas nao ira alterar os arquivos do /home/
renato, /home/fulano, etc....
Jimmy, os caracteres que eu considero "estranhos ou com problemas" são
esses:
âãäåèéêëìíîïòóôõöùúûüçñß¢Ð£Øø§µÝý¥¹²³~?
áÁéÉíÍóÓúÚâÂêÊôÔãÃõÕàÀòÒâð£þ®§ü
O que estou tentando fazer, é que o script altere recursivamente
(arvore de diretorios) e troque para hifen...
[]'s,
Renato
On 25 mar, 16:42, Wagner Brasileiro <[email protected]>
wrote:
> SIm, por isso havia perguntado da importância da nomenclatura, pois além de
> sobescrever pode alterar os seus nomes de maneira que sejam inutilizados
> pelo sistema ou por quem os criou ao não reconhecer sua nova nomenclatura.
>
> 2009/3/25 jimmy <[email protected]>
>
>
>
> > 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/
-~----------~----~----~----~------~----~------~--~---