Use -not
, combinado com -name
.
find . -type f -mtime +5 -not -name "*.template" -exec rm {} \;
Ou:
find . -type f -mtime +5 -not -name "*.template" -delete
Preciso de ajuda para excluir arquivos em um dos meus diretórios no Unix.
Na exclusão, manualmente, estou usando o comando:
para listar os arquivos:
find . -mtime +5 -type f
Então, se os arquivos listados forem bons para serem deletados, então eu vou usar abaixo:
para remover arquivos:
find . -mtime +5 -type f -exec rm {} \;
Meu problema é, eu vou desenvolver um trabalho agendado que iria deletar no meu diretório. Mas nem todos no meu diretório devem ser excluídos. É proibido excluir os arquivos com extensão .template
.
Exemplo:
uafs9920.mailnote.template .
Como posso automatizar isso?
Use -not
, combinado com -name
.
find . -type f -mtime +5 -not -name "*.template" -exec rm {} \;
Ou:
find . -type f -mtime +5 -not -name "*.template" -delete
Ao navegar aqui no superusuário, eu procurei por outras perguntas que estão de alguma forma relacionadas ou conectadas à minha pergunta. E em um dos tópicos, vi o comando:
encontre. -tipo f! -name ' .template ' -mtime +5 -exec rm {} \;
Eu tentei no meu Unix Env e funciona. :)
Tags unix