Localiza arquivos com mais de x quantidade de tempo em um diretório específico, ignorando subdiretórios

2

Minha configuração é a seguinte:

estrutura de pastas

dir
 |--correctfile1
 |--correctfile2
 |--correctfile3
 |--subdir1
   |--wrongfile1
   |--wrongfile2
   |--wrongfile3
 |--subdir2
 |--subdir3

Eu preciso descobrir se há arquivos em dir com mais de 3 minutos. Isso significa que eu devo ignorar as pastas subdir1, subdir2 and subdir3 e só pesquisar no diretório principal dir

Eu tenho seguido o one-liner

find $dir -mmin +3 -type f

mas isso também imprime os arquivos do subdir1

Algumas informações adicionais:

AIX 5.3

o comando de localização não tem as opções -maxdepth , -mindepth , -or , -not ou -path

A página de manual: link

    
por Noosrep 11.12.2014 / 15:40

1 resposta

1

Uma forma portátil de impedir que o find recorra é executar a ação -prune em diretórios diferentes do diretório de nível superior.

find "$dir" \! -name "$(basename -- "$dir")" -type d -prune -o -mmin +3 -type f -print
    
por 11.12.2014 / 15:48