Achado não-recursivo no linux

7

Eu estou tentando encontrar todos os diretórios que estão diretamente dentro do diretório atual e mais antigos do que uma idade específica. O truque é que eu só quero considerar a idade dos descendentes imediatos do diretório atual e não pesquisá-los recursivamente.

O exemplo de uso é para backups diários de arquivos - um novo diretório é criado todos os dias, mas os arquivos colocados nesse diretório mantêm seus timestamps e são geralmente mais antigos. Eu quero poder limpar backups antigos sem excluir os arquivos antigos em instantâneos mais recentes.

Parece que find pode não conseguir fazer isso, que ferramenta unix (ou uma combinação deles) você recomenda?

    
por SaltyNuts 19.05.2011 / 20:25

3 respostas

18

Você pode usar -maxdepth e -mindepth com a pesquisa de escolha do atributo modificado / acessado / alterado, por exemplo

find -maxdepth 1 -mtime 4

por 4 dias.

Não se esqueça de excluir os resultados . e .. que find retorna.

Link útil para muitos find de exemplos.

    
por 19.05.2011 / 20:29
4

Você está procurando as opções -maxdepth e -mindepth .

    
por 19.05.2011 / 20:29
1

find funcionará bem. Basta adicionar -maxdepth 1

    
por 19.05.2011 / 20:31