shell-script-pt
[Top][All Lists]
Advanced

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

Re: Arrumar Nomes de arquivos


From: voyeg3r
Subject: Re: Arrumar Nomes de arquivos
Date: Tue, 31 Jul 2007 22:05:52 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "isampbr" <isamp@...> escreveu
>
> Colegas de lista,
> 
> Estou com dificuldades em encontrar um meio "scriptzavel" para
> renomear arquivos e diretorios.
> 
> O Caso e que um Filesystem compartilhado via Samba esta repleto de
> arquivos/diretorios acentuados e com espacos em branco.
> 
> Tentei usar a funcoeszz mas com estas eu nao consigo arrumar nomes de
> diretorios e, curiosamente, alguns nomes de arquivo com acentuacao
> tambem nao sao corrigidos.
> 
> Minha ideia e rodar este script uma vez por dia ...
>

Antes de aplicar zzarrumanome use este (no meu caso resolveu) script:

Este script converte o charset iso-8859-1 para utf-8 e vice-versa
Fonte: http://www.usm.edu.ec/~amadorm/

#!/bin/bash
#mviconv 1.1
#copyright 2002 Manuel Amador (Rudd-O).  This software is under the GPL
#http://www.usm.edu.ec/~amadorm/

if [ "$3" == "" ] ; then
 echo "mviconv 1.0 by Rudd-O."
 echo "sorts a folder full of MP3s into artist and album folders"
 echo "This software is under the GPL.  ABSOLUTELY NO WARRANTY."
 echo
 echo "usage: $0 [-r] --from=encoding1 --to=encoding2 <files>"
 exit 1
fi

if [ "$1" == "-r" -o "$1" == "-R" ] ; then
 recursive=$1
 shift
fi

from="$1"
shift
to="$1"
shift

while [ "$1" != "" ]; do

 filename="$1"
 newfilename=`echo $filename | iconv $from $to `

 if [ "$filename" != "$newfilename" ]; then
   echo \($SHLVL\) Processing $PWD/$newfilename
   mv "$filename" "$newfilename" > /dev/null
   [ $? -ne 0 ] && exit 1
 fi

 #debugging purposes
 #newfilename="$filename"
 if [ -d "$newfilename" -a "$recursive" != "" ] ; then
   directorioviejo="$PWD"
   cd "$newfilename"
   if [ "$PWD" !=  "$directorioviejo" ]; then
      $0 $recursive $from $to *
   fi
   cd "$directorioviejo"
 fi


 shift

done





reply via email to

[Prev in Thread] Current Thread [Next in Thread]