Renomeando arquivos com caracteres especiais

Publicado por Andre Luiz Facina em 14/07/2008

[ Hits: 14.289 ]

 


Renomeando arquivos com caracteres especiais



Se um arquivo possui caracteres especiais, o unix tentará interpretá-los. Para renomear esses tipos de arquivos não basta um simples "mv" (pois o shell retornará um erro), isso terá que ser feito com o número inode do arquivo.

Por exemplo:

$ ls -i "facina(unix)"

(o "-i" exibirá o número inode do arquivo -> 69734 facina(unix) )

O inode para esse arquivo é "69734".

Uma vez que o inode foi identificado, utilize o comando "find" para renomear o arquivo:

$ find . -inum 69734 -exec mv \{\} NewName \;

Depois "ls" novamente, a fim de verificar o arquivo.

Alguns podem dizer:

- Mas é mais fácil utilizar o mv com o nome do arquivo entre aspas (para quem utiliza o bash)

OK, mas lembre-se, nem todos os shells possuem essa facilidade. =)

André Facina

Outras dicas deste autor

Adicionando SWAP no OpenBSD

Reforçando os serviços básicos com SSL

AIX - Montar imagem ISO

Apt-cacher - Sistema de cache para pacotes DEB

MultiTail - Comando tail em múltiplos arquivos no Linux

Leitura recomendada

Como usar o Zenshot

Verificando Processo do comando "dd"

Ativar memória SWAP no Fedora

Trabalhando com o VI

Alterando recursivamente permissão de arquivos e pastas

  

Comentários
[1] Comentário enviado por removido em 14/07/2008 - 23:25h

Num é mais fácil escapar o caractere especial, retirando assim a sua função e transformando-o em um mero caractere?

[2] Comentário enviado por netbug em 15/07/2008 - 13:31h

Olá lordhult, teria como fazer com a barra de escape sim, aliás, no linux tem mil e uma maneiras de fazer a mesma coisa, umas com um jeito mais simples, outras porém, mais complicadas. A escolha de uso varia de gosto e/ou necessidade de cada pessoa.





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts