com zmv
O Zsh tem zmv
, que oferece uma interface muito simples para renomear (ou copiar) arquivos:
autoload zmv
zmv '(*).bak' '$1'
Cada par de parênteses captura um grupo, que pode ser acessado com $1
, $2
e assim por diante. Aqui estão alguns mais alguns exemplos .
Outra maneira de fazer isso com zmv
é usar a opção -W
, que funciona para renomear tarefas simples:
zmv -W '*.bak' '*'
A maneira mais fácil de ter zmv
sempre disponível é colocar a instrução autoload zmv
no seu ~/.zshrc
.
Com sintaxe Bash
Se você quiser usar a sintaxe de Bash "simples" com manipulação de string, isso seria necessário:
for f in *.bak; do mv -- "$f" "${f%.bak}"; done
Com a ferramenta rename
Existe uma ferramenta rename
que está disponível em alguns Linuxes e no OS X através de brew install rename
.
rename 's/.bak$//' *
O $
é necessário para capturar o final da string, e não partes no meio dos nomes dos arquivos que contêm .bak
.