Como usar o "rm" para remover arquivos com um ":" neles?

2

Estou usando o Ubuntu 10.04 e tenho um diretório com vários arquivos. Nós mudamos o esquema de nomeação dos arquivos há algum tempo, e agora eu quero excluir todos os antigos.

Novo esquema de nomes: December_12_2010.zip

Antigo esquema de nomes: December_11_2010_17: 54: 18_map.zip

Eu estava procurando por expressões regulares e quero ver como fazer isso com elas, mas não consegui descobrir. Meu conhecimento limitado não foi suficiente para me obter a combinação certa. Eu vi o ":" e pensei que a melhor maneira de excluir os arquivos era dizer "Excluir todos os arquivos com um ':' neles", mas sem sorte. Eu adoraria alguma orientação!

    
por Wayfarer 19.12.2010 / 22:01

3 respostas

4

Experimente rm *:* . Isso certamente funciona para mim e, se não funcionar para você, ajudaria se você fornecesse os detalhes da mensagem de erro.

Também é possível renomear os arquivos se houver apenas um por dia. Automatizar isso não seria um grande desafio.

    
por 19.12.2010 / 22:08
4

Se os arquivos forem realmente demais, use find :

find -name '*:*' -delete
    
por 19.12.2010 / 22:23
0

Se você está atrás de um regex, isso deve funcionar: -

find . -regex '.*/*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]*' -exec rm -fv '{}' \;

    
por 19.12.2010 / 22:26