Com renomear
rename .txt _1.txt *
deve fazer o que você está procurando.
Para citar man rename
:
rename [options] expression replacement file...
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
Com comandos bash comuns
Como você disse que rename
não está instalado em seu sistema, veja uma solução que usa mais Bash padrão:
for file in *.txt; do
mv "$file" "${file%.txt}_1.txt"
done
Explicação: Fazemos o loop de todos os arquivos. Para cada arquivo, nós o movemos para o local correto, fazendo uso de algo chamado "expansão de parâmetro" (essa é a parte ${}
). O caractere especial %
pode ser usado na expansão do parâmetro para corresponder a um padrão no final da string e excluí-lo.
Para mais informações, consulte: link