Linux find sempre retorna 1 registro

0

Por que o comando find -cmin +20 no Linux CentOS sempre retorna 1 registro que é . ? Como posso contornar isso?

    
por Krystian 11.04.2013 / 11:12

1 resposta

0

Quando você não inserir um caminho específico para o find , pelo menos o GNU find terá como padrão pesquisar recursivamente a partir do diretório atual, ou seja, . . Verbatim de man find :

If no paths are given, the current directory is used.

Se você não quiser incluir o próprio argumento path nos resultados, adicione -mindepth 1 . Mais uma vez em man find :

-mindepth levels
   Do not apply any tests or actions at levels less than 'levels' (a
   non-negative integer). '-mindepth 1' means process all files except
   the command line arguments.

Exemplo:

~$ mkdir test
~$ cd test
~/test$ find
.
~/test$ find -mindepth 0
.
~/test$ find -mindepth 1
~/test$ 

Com seu comando específico, find sempre retornará pelo menos um registro se o próprio diretório atual tiver mais de 20 minutos. A criação de um novo diretório como você fez não retornará nada, já que ele não corresponderá aos critérios de pesquisa - pelo menos não por 20 minutos após sua criação.

    
por 11.04.2013 / 12:04