segunda-feira, 28 de maio de 2012

Renomear extensões de arquivos no linux

Algo tão simples no velho DOS pode se tornar bem complicado de fazer em outro sistema. No caso do Linux uma simples mudança de múltiplos arquivos pode levar até a criar scripts próprios.

O que não foi o caso, mas quase.
Tudo começa em uso rotineiro, onde tinha alguns arquivos de extensão mkv e queria muda-los pra mpg.

Bom pra renomear um único arquivo costumamos utilizar sem problemas o comando mv que significa mover, mas você altera o nome movendo ficticiamente o conteúdo do arquivo para o outro. blz!

Mas quando os nomes são diferente e somente uma parte é igual, no meu caso o final. O mv *.mkv *.mpg retorna que o mpg não é um diretorio válido.

No velho DOS diriamos ren *.mkv *.mpg e acabou o assunto!

Bom instintivamente procurei um rename e ele existe, mas não funciona como no DOS.  Ele é um programa bem avançado no qual você tem que ter aquele básico bem relembrado.
Suas dependências são o mv e o perl.
O perl é um linguagem de programação poderosa e avançada, sempre disponível em terminais(linha de comando).
Com seu man fornece dois exemplos de manipulação, mas somente a adaptação forneceu o resultado esperado.
rename 's/mkv$/mpg' *

Pontos chaves:
  • O s é bem conhecido do vim(vi) e do sed, que significa substituir;
  • O $ indica que são os últimos caracteres do nome;
Criei alguns nomes de arquivo com o touch, entre eles o mkv.mkv e o mpg.mkv.
No teste utilizei a opção -n para simular e ver os resultados.
rename -n 's/mkv$/mpg' *
Deu certo!

O pacote que vem com este recurso é o perl e o nome do binário após muitos links é prename. Padrão de todas as distribuições.

Até a próxima

2 comentários:

  1. vey como faço pra colocar aquelas abas no meu blogspot??. Tipo essas que vc colocou ali em cima: Inicio,Sobre o Blog, Sobre min.

    ResponderExcluir
  2. Obrigado pela participação. O que achou do artigo? Respondendo sua pergunta, no painel do blogger vá em LAYOUT, lá dentro da página vá em ADICIONAR UM GADGET e mais ou menos no meio tem a opção adicionar páginas. Coloque onde quiser sua posição é bem flexivel.

    ResponderExcluir