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
# ----------------------------------------------------------------------------
# Troca a extensão dos arquivos especificados.
# Com a opção -n, apenas mostra o que será feito, mas não executa.
# Uso: zztrocaextensao [-n] antiga nova arquivo(s)
# Ex.: zztrocaextensao -n .doc .txt * # tire o -n para renomear!
#
# Autor: Aurelio Marinho Jargas, www.aurelio.net
# Desde: 2000-05-15
# Licença: GPL
# ----------------------------------------------------------------------------
zztrocaextensao ()
{
zzzz -h trocaextensao "$1" && return

local ext1 ext2 arquivo base novo nao

# Opções de linha de comando
if [ "$1" = '-n' ]
then
nao='[-n] '
shift
fi

# Verificação dos parâmetros
[ "$3" ] || { zztool uso trocaextensao; return 1; }

# Guarda as extensões informadas
ext1="$1"
ext2="$2"
shift; shift

# Tiro no pé? Não, obrigado
[ "$ext1" = "$ext2" ] && return

# Para cada arquivo que o usuário informou...
for arquivo
do
# O arquivo existe?
zztool arquivo_legivel "$arquivo" || continue

base="${arquivo%$ext1}"
novo="$base$ext2"

# Testa se o arquivo possui a extensão antiga
[ "$base" != "$arquivo" ] || continue

# Mostra o que será feito
echo "$nao$arquivo -> $novo"

# Se não tiver -n, vamos renomear o arquivo
if [ ! "$nao" ]
then
# Não sobrescreve arquivos já existentes
zztool arquivo_vago "$novo" || return

# Vamos lá
mv -- "$arquivo" "$novo"
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

r669 by aureliojargas on Mar 28, 2012   Diff
lint: removendo espaços inúteis. Parte
2.
r655 by aureliojargas on Mar 23, 2012   Diff
s/Aurélio/Aurelio/ *
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.
All revisions of this file

File info

Size: 1448 bytes, 60 lines
Powered by Google Project Hosting