Você pode usar o comando rename
, que geralmente é incluído em uma instalação padrão:
rename 's/.*/sprintf("filename (%d)", ++$ENV{c})/e' *
Isso faria exatamente o que você pediu. Use o -n
flag se você quiser fazer um teste primeiro:
rename -n 's/.*/sprintf("filename (%d)", ++$ENV{c})/e' *
Isso pressupõe que a variável de ambiente c
seja indefinida, o que fará com que a contagem comece a partir de 0. Se você quiser ser mais seguro, pode chamá-la assim:
c=0 rename -n 's/.*/sprintf("filename (%d)", ++$ENV{c})/e' *