[Ubuntu-BR] Alias para o comando mv

Daniel Bastos dbastos+0 em toledo.com
Terça Outubro 6 11:24:50 UTC 2009


In article <5c15fc2d0910051658lb3ad54s784d8b09d78d20ae em mail.gmail.com>,
Thiago Nunes Vilela wrote:

> [Quero] criar um alias que quando eu der um MV num arquivo ele o
> renomeie [de acordo com o modelo arquivo.`date +%Y.%m.%d.%k:%M`].

Uma parte fundamental desta tarefa é a de solucionar o problema de
sobrepor um programa (/bin/mv) com um alias ou uma função do
shell. Isso pode ser solucionado definindo uma função de nome igual ao
nome do programa, e referenciando o programa através do seu caminho
absoluto. Assim.

%mv() { /bin/mv -n; }
%mv
/bin/mv: invalid option -- n
Try `/bin/mv --help' for more information.

E a tarefa em si pode ser feita como abaixo.

%mv() { for fn; do echo /bin/mv $fn /tmp/$fn.`date +%Y.%m.%d.%k:%M`; done; }

%mv pow0 pow0.o pow0.s.~1~ 
/bin/mv pow0 /tmp/pow0.2009.10.06.13:20
/bin/mv pow0.o /tmp/pow0.o.2009.10.06.13:20
/bin/mv pow0.s.~1~ /tmp/pow0.s.~1~.2009.10.06.13:20

(*) Sobre funções

O definir de uma função se comporta, intuitivamente, como a definição
de um programa convencional; na definição de mv(), as variáveis $1,
$2, ..., $n estão definidas, e o ``for name'' é a sintaxe usual para
associar ``name'' com cada um dos $1, $2, ..., $n.

%mv() { for fn; do echo $fn; done; }
%mv a b c d e
a
b
c
d
e





More information about the ubuntu-br mailing list