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

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

Re: [shell-script] Minusculos


From: aurelio
Subject: Re: [shell-script] Minusculos
Date: Tue, 5 Nov 2002 08:29:27 -0300 (ART)

 --- Daniel Soares <address@hidden> escreveu: 
> #!/bin/sh
> for x in *; do
> y=`echo $x | tr '[A-Z]' '[a-z]'`
> if [ $x != $y ]; then
>   echo "Renomeando $x para $y"
>   mv $x $y
>   echo "ok"
> fi
> done

se quiser tirar caracteres estranhos/acentuados tb além de minusculizar
:) pode usar a zzarrumanome (http://verde666.org/zz)

vou colar aqui (o yahoo vai quebrar tudo):

#
----------------------------------------------------------------------------
# renomeia arquivos do diretório atual, arrumando nomes estranhos.
# obs.: ele deixa tudo em minúsculas, retira acentuação e troca espaços
em
#       branco, símbolos e pontuação pelo sublinhado _
# uso: zzarrumanome arquivo(s)
# ex.: zzarrumanome *
#      zzarrumanome "DOCUMENTO MALÃO!.DOC"       # fica
documento_malao.doc
#      zzarrumanome "RAMONES - I Don't Care"     # fica
ramones-i_don_t_care
#
----------------------------------------------------------------------------
zzarrumanome(){ zzzz -z $1 zzarrumanome && return
[ "$1" ] || { echo 'uso: zzarrumanome arquivo(s)'; return; }
local A A1 A2 D; for A in "$@"; do [ -f "$A" ] || continue;
A1="${A##*/}"; D="${A%/*}/"; A2=`echo $A1 | sed "s/[\"']//g"'
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;s/^-/_/
y/ÀàÁáÂâÃãÉéÊêÍíÓóÔôÕõÚúÇçÑñ/aaaaaaaaeeeeiioooooouuccnn/
s/[^a-z0-9._-]/_/g;s/__*/_/g;s/_\([.-]\)/\1/g;s/\([.-]\)_/\1/g'`
[ "$A1" != "$A2" ] && mv -v -- "$A" "${D%$A/}$A2"; done
}



=====
-- 
aurelio

_______________________________________________________________________
Yahoo! GeoCities
Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e 
acessórios.
http://br.geocities.yahoo.com/


reply via email to

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