[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/