Existe uma ferramenta para isso chamada rename :
rename 's/File30/File20/' *.txt
Para uma pré-visualização com -n :
rename -n 's/File30/File20/' *.txt
Eu tenho uma tonelada de arquivos chamados File30_i.txt para i=1, 2, 3, 4, 5 ...
Existe uma maneira fácil de renomear rapidamente o File20_i.txt , por exemplo?
Minha maneira preferida seria usar o sed para gerar um script para ele, por exemplo:
ls -1|sed 's/File30_\([^.]*\).txt/mv & File20_.txt/'|bash
Isso deve renomear de acordo com os nomes de arquivos que você forneceu na pergunta. Para visualizar os comandos, você pode fazer:
ls -1|sed 's/File30_\([^.]*\).txt/mv & File20_.txt/'
renamer funciona em Windows, Mac e Linux:
$ renamer --find Find30 --replace Find20 *.txt