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

Re: Renomear arquivos



Ocorre o erro porque você tem que incluir um escape antes do espaço.
Eu consegui resolver o problema, mas um pouquinho diferente de como vc
estava tentando fazer. Mas com o resultado desejado.


#!/bin/sh

# Cria um arquivo com a listagem do diretório escolhido
/bin/ls /tmp/teste > /tmp/apaga.$$

(
  while read dir; do
  
    novo_dir=`echo $dir|tr '[:upper:]' '[:lower:]'`
    if [ "$dir" != "$novo_dir" ]; then

      # faz um escape dos espaços
      dir=${dir// /\ }           
      novo_dir=${novo_dir// /\ }

      mv "$dir" "$novo_dir"
    fi
    
  done
) < /tmp/apaga.$$

rm /tmp/apaga.$$



--
Gutemberg 


On Tue, Mar 11, 2003 at 01:00:33PM -0300, Wilson Dias Goi wrote:
> Tentei fazer uma script que alterasse um caracter para outro nos arquivos,
> atraves da renomeacao de arquivos.
> A maioria dos arquivos tem espacos em branco.
> Tentei de varias formas mas o mv sempre da a mensagem : "mv: ao mover
> multiplos arquivos o ?ltimo argumento deve ser um diretorio"
> Por exemplo, aqui tentei converter caracteres maiusculos em minusculos:
> 
> for x in /bin/ls $dir; do
>          y=_cho $x | tr '[:upper:]' '[:lower:]'
>           if [ $x != $y]; then
>             mv $x $y
>           fi
>       done
> 
> Ja consultei varias documentacoes e nada encontrei sobre este problema.
> Alguem tem uma dica ?
> 
> Wilson
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 



Reply to: