quarta-feira, 12 de julho de 2017

Renomear e excluir arquivos no Linux com caracteres especiais no nome

Fala pessoal...

Hoje surgiu uma necessidade um pouco fora do normal aqui. Nada a ver com Oracle e sim com a exclusão de arquivos no linux.

Achei bacana compartilhar.

Não sei porque surgiu um arquivo com o nome "?0?@@?i@8?@" no meu servidor de testes.

[root@odin]# ls -lrht
-rw-r--r--   1 root   root        0 Jul 12 09:58 ?0?@@?i@8?@

Ok, vamos excluir esse arquivo:

rm -f ?0?@@?i@8?@
rm -f "?0?@@?i@8?@"

Nos dois casos recebi o erro que o nome do arquivo era inválido.

Então, dei uma pesquisada e achei o tal do "--". Ai ficou fácil, primeiro renomeei o arquivo problemático e depois exclui.

-- Renomear
[root@odin]# mv -- ?0?@@?i@8?@ tt

[root@odin]# ll
-rw-r--r--   1 root   root        0 Jul 12 09:58 tt

-- Excluir
[root@odin]# rm tt
rm: remove regular empty file `tt'? y


E tudo foi resolvido.

Então é isso. Só uma dica que pode ser útil um dia.

Abraço
Mario

Nenhum comentário:

Postar um comentário

Isso te ajudou? Comente...

Postagem em destaque

[ORACLE] Batch change EDITIONABLE property.

Hello everyone. Hope you're doing well! Today, I have a simple case.   A test database had many database objects with the EDITIONABLE pr...