Depende de qual programa rename
está no seu sistema (não me lembro do RHEL). Se for a renomeação do util-linux , você provavelmente renomeou seu primeiro arquivo durante o segundo . Veja o que acontece. (Eu vou usar rename.ul
para maior clareza aqui.)
Com os três arquivos a.log
, b.log
e c.log
, se dermos o comando rename.ul * *.log *
, o shell expandirá os globs e o comando final executado será:
rename.ul a.log b.log c.log a.log b.log c.log a.log b.log c.log
Agora, rename
considera os dois primeiros como um padrão e um substituto e os aplica aos arquivos nomeados pelo restante dos argumentos. Então, basicamente o comando diz para substituir a.log
por b.log
nos nomes de qualquer c.log a.log b.log c.log a.log b.log c.log
. Apenas a.log
corresponde e foi movido para b.log
, e você provavelmente recebe uma mensagem de erro para o próximo a.log
listado.
Se o seu rename
foi o Perl renomear ( prename
) , você provavelmente teria recebido um erro sem que nada acontecesse, já que seu primeiro nome de arquivo provavelmente não é um comando Perl válido. prename
também não sobrescreve arquivos por padrão.
Com a renomeação de util-linux, para remover .log
dos nomes dos arquivos, você usaria
$ rename.ul .log "" *.log
Isso também alteraria qualquer correspondência do meio do nome, então v.logger
se transformaria em vger
.
Com a renomeação Perl, o comando seria
$ prename 's/\.log$//' *.log