My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# ----------------------------------------------------------------------------
# Move os arquivos que tem um prefixo comum para um novo prefixo.
# Opções:
# -a, --antigo informa o prefixo antigo a ser trocado.
# -n, --novo informa o prefixo novo a ser trocado.
# Uso: zzmudaprefixo -a antigo -n novo
# Ex.: zzmudaprefixo -a "antigo_prefixo" -n "novo_prefixo"
# zzmudaprefixo -a "/tmp/antigo_prefixo" -n "/tmp/novo_prefixo"
#
# Autor: Lauro Cavalcanti de Sa <lauro (a) ecdesa com>
# Desde: 2009-09-21
# Versão: 2
# Licença: GPLv2
# ----------------------------------------------------------------------------
zzmudaprefixo ()
{

#set -x

zzzz -h mudaprefixo "$1" && return

# Verifica numero minimo de parametros.
if [ $# -lt 4 ] ; then
zztool uso mudaprefixo
return 1
fi

# Declara variaveis.
local antigo novo n_sufixo_ini sufixo

# Opcoes de linha de comando
while [ $# -ge 1 ]
do
case "$1" in
-a | --antigo)
[ "$2" ] || { zztool uso mudaprefixo; return 1; }
antigo=$2
shift
;;
-n | --novo)
[ "$2" ] || { zztool uso mudaprefixo; return 1; }
novo=$2
shift
;;
*) { zztool uso mudaprefixo; return 1; } ;;
esac
shift
done

# Renomeia os arquivos.
n_sufixo_ini=`echo ${#antigo}`
n_sufixo_ini=`expr ${n_sufixo_ini} + 1`
for sufixo in `ls -1 "${antigo}"* | cut -c${n_sufixo_ini}-`;
do
# Verifica se eh arquivo mesmo.
if [ -f "${antigo}${sufixo}" -a ! -s "${novo}${sufixo}" ] ; then
mv -v "${antigo}${sufixo}" "${novo}${sufixo}"
else
echo "CUIDADO: Arquivo ${antigo}${sufixo} nao foi movido para ${novo}${sufixo} porque ou nao eh ordinario, ou destino ja existe!"
fi
done

}

Change log

r710 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: $1 colocado entre aspas na
chamada padrão zzzz -h de todas as
funções.
Go to: 
Sign in to write a code review

Older revisions

r668 by aureliojargas on Mar 28, 2012   Diff
lint: removendo espaços inúteis.
r524 by aureliojargas on May 23, 2011   Diff
COMBO: Agora todas as chamadas ao
zztool uso por falha na verificação
dos parâmetros possuem um return 1
depois. Assim outros scripts que usam
as funções podem detectar erros.
r305 by aureliojargas on Dec 22, 2010   Diff
zzmudaprefixo: Adicionada opção -v no
comando mv para o usuário saber quais
arquivos foram renomeados.
All revisions of this file

File info

Size: 1666 bytes, 63 lines
Powered by Google Project Hosting