Como usar “rm” para remover arquivos com “:” neles?

Como usar “rm” para remover arquivos com “:” neles?

Estou usando o Ubuntu 10.04 e tenho um diretório com vários arquivos. Mudamos o esquema de nomenclatura dos arquivos há algum tempo e agora quero excluir todos os antigos.

Novo esquema de nomes: December_12_2010.zip

Esquema de nomes antigo: 11 de dezembro de 2010_17:54:18_map.zip

Eu estava olhando expressões regulares e queria ver como fazer isso com elas, mas não consegui descobrir. Meu conhecimento limitado não foi suficiente para conseguir 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!

Responder1

Tentar 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 seria possível renomear os arquivos se houvesse apenas um por dia. Automatizar isso não seria um grande desafio.

Responder2

Se os arquivos foremrealmenteum monte que você deve usar find:

find -name '*:*' -delete

Responder3

Se você procura um regex, isso deve funcionar: -

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

informação relacionada