Usando o Bash
Você pode usar este comando para fazer isso usando estritamente apenas Bash:
$ for file in ./*; do mv "$file" "${file/ (*)/}"; done
Exemplo
$ ls -1
001 (1).txt
002 (1).txt
003 (2).txt
Executando o comando acima:
$ for file in ./*; do mv "$file" "${file/ (*)/}"; done
$ ls -1
001.txt
002.txt
003.txt
Usando renomear
Algumas distros (Debian / Ubuntu) incluem o comando rename
. Você pode fazer o que quiser usando esta versão do rename
.
$ rename -v 's/ \(.*\)\./\./' ./*.txt
Exemplo
$ rename -v 's/ \(.*\)\./\./' ./*.txt
001 (1).txt renamed as 001.txt
002 (1).txt renamed as 002.txt
003 (2).txt renamed as 003.txt
$ ls -1
001.txt
002.txt
003.txt
No entanto, as distribuições da Red Hat não incluem esta versão de rename
.
Referências