Isso mostra que você precisa pensar sobre como você faz a pergunta. Todo mundo - inclusive eu - entendeu mal sua pergunta inicialmente
Você pode usar qmv para renomear em massa interativamente usando um editor. Ele permitirá a busca / substituição e também renomeações cíclicas.
Simples
O que o mv realmente faz no nível do driver é o seguinte:
ln source target
unlink source
Então, você pode fazer isso. Isso, no entanto, pressupõe o cenário otimizado em que source & destino residem no mesmo sistema de arquivos. Se não, você terá que usar cp em vez de ln. Certifique-se de fazer com que um cp -a
Atualize em resposta ao comentário (paranóico):
(ln source target || cp -a source target) && unlink source