Find + Xargs de novo!

adicionando extensão a arquivos
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!

2 comentários:

  1. Vc poderia fazer um pipe para o comando rename que ele, de uma tacada só, adicionaria o txt no fim de cada arquivo.

    ResponderExcluir
  2. Na verdade havia postado por não lembrar como referenciar final de linha no comando rename.

    rename 's/$/.txt/g' *

    No caso acima o final do nome '$' será substituido por '.txt' o que resolve o problema.

    ResponderExcluir

Insira seu comentário - O mesmo será submetido à aprovação!

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo