[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Script funções zz
From: |
Reinaldo Almeida Bonilho |
Subject: |
Script funções zz |
Date: |
Sat, 5 May 2007 21:52:52 -0300 |
Boa Noite PessoALL,
Acho que todos da lista conhece o script funcoeszz do nosso amigo Aurelio.
É que eu gostaria de utilizar uma das funções do script separadamente:
# ----------------------------------------------------------------------------
# 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 _
# Use o -r para ser recursivo e o -d para renomear diretórios também
# Uso: zzarrumanome [-d] [-r] arquivo(s)
# Ex.: zzarrumanome *
# zzarrumanome -d -r .
# 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
local A A1 A2 D i f_R=0 f_D=0; [ "$1" = '-d' ] && { f_D=1; shift; }
[ "$1" = '-r' ] && { f_R=1; shift; }; [ "$1" = '-d' ] && { f_D=1; shift; }
[ "$1" ] || { echo 'uso: zzarrumanome [-d] [-r] arquivo(s)'; return; }
for A in "$@"; do [ "$A" != / ] && A=${A%/}
[ -f "$A" -o -d "$A" ] || continue; [ -d "$A" ] && {
[ "$f_R" -eq 1 ] && zzarrumanome -r ${f_D:+-d} "$A"/*
[ "$f_D" -eq 0 ] && continue; }
A1="${A##*/}"; D='.'; [ "${A%/*}" != "$A" ] && D="${A%/*}";
A2=`echo $A1 | sed "s/[\"']//g"'
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;s/^-/_/
y/ÀàÁáÂâÃãÄÅäåÈèÉéÊêËëÌìÍíÎîÏïÇçÑñ/aaaaaaaaaaaaeeeeeeeeiiiiiiiiccnn/
y/ÒòÓóÔôÕõÖöÙùÚúÛûÜüߢУØø§µÝý¥¹²³/oooooooooouuuuuuuubcdloosuyyy123/
s/[^a-z0-9._-]/_/g;s/__*/_/g;s/_\([.-]\)/\1/g;s/\([.-]\)_/\1/g'`
[ "$A1" = "$A2" ] && continue ; [ -f "$D/$A2" -o -d "$D/$A2" ] && {
i=1 ; while [ -f "$D/$A2.$i" -o -d "$D/$A2.$i" ]; do i=$((i+1)); done
A2="$A2.$i"; }; mv -v -- "$A" "$D/$A2"; done
}
Alguem pode me ajudar para separar isso em um script somente ?
Muito Obrigado,
- Script funções zz,
Reinaldo Almeida Bonilho <=