Oi j� havia tentado com o seu m�todo, porem sem sucesso, pois do
modo como funciona o laco "for", ele separa as palavras por espaco,
assim um arquivo com dois espacos no meu do nome � quebrado como
sendo dois nomes de arquivos.
Alem disso [A-Z] para [a-z] nao refresca aqueles caracteres
acentuados.
Veja como eu estou fazendo, estou quase chegando l� :
echo "renomeando arquivos e diretorios para minusculo..." >test
for x in `ls -Q --color=never --quoting-style=shell |tr ' '
'?'` <= trocando espaco por '?' para nao atrabalhar o laco for
do
if [ -f $x -a -d $x ]; then
continue
fi
x=`echo $x | tr '?' '[:space:]'` <=== ainda nao
consegui desfazer a troca de ? por espaco novamente
echo $x
convert=`echo $x | tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz��
����������� |+=)(*&^%#@"'
'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzaaa
aeeeiooouu____________"'`
if [ $convert != $x ]; then
echo "mv -i ""$x"" ""$convert""" >>test
#mv -i $x $convert
fi
done
echo "pronto, arquivos renomeados!"
exit
Em 11/01/2002 'as 08:10 Marcelo Welter escreveu :
>Me metendo no assunto eu faria um pouco mais reduzido...
>em uma linha:
>for arq in `ls *.*`; do mv $arq `echo $arq | tr A-Z a-z`; done
>
Assinantes em 11/01/2002: 2226
Mensagens recebidas desde 07/01/1999: 149939
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]