Isso faz o que você pergunta:
n=1; for f in *.txt; do mv "$f" "CO_$((n++))_$f"; done
Como funciona
-
n=1
Isso inicializa a variável
n
para 1. -
for f in *.txt; do
Isso inicia um loop sobre todos os arquivos no diretório atual cujos nomes terminam com
.txt
. -
mv "$f" "CO_$((n++))_$f"
Isso renomeia os arquivos para ter o prefixo
CO_
comn
como o contador. O símbolo++
informa ao bash para incrementar a variáveln
. -
done
Isso sinaliza o final do loop.
Melhoria
Esta versão usa printf
, o que permite maior controle sobre como o número será formatado:
n=1; for f in *.txt; do mv "$f" "$(printf "CO_%02i_%s" "$n" "$f")"; ((n++)); done
Em particular, o formato %02i
colocará um zero à esquerda antes do número quando n
ainda estiver em um dígito.