Eu tinha um monte de arquivos sem extensão e queria colocar
no final txt, segue a solução.
find ./ -maxdepth 1 -type f -print0 | xargs -0 -i mv ./{} ./{}.txt
A vantagem desta abordagem é que o find entrega uma lista pronta
para o xargs, assim um arquivo já renomeado não pode sofrer novamente
a alteração em questão. Outra vantagem é que fica tudo em uma mísera linha.
Solução usando o rename
rename 's/$/.txt/g' *
O cifrão é uma expressão regular que significa final do padrão buscado!
Vc poderia fazer um pipe para o comando rename que ele, de uma tacada só, adicionaria o txt no fim de cada arquivo.
ResponderExcluirNa verdade havia postado por não lembrar como referenciar final de linha no comando rename.
ResponderExcluirrename 's/$/.txt/g' *
No caso acima o final do nome '$' será substituido por '.txt' o que resolve o problema.