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 .