Encontre um arquivo com 30 minutos

8

Como posso encontrar o arquivo de 30 minutos em /bin/ksh ?

    
por Aravind 18.07.2014 / 17:25

3 respostas

1

Sem o out GNU/BSD find

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file

e, em seguida, find . -newer /reference/file

solução dada por Stéphane Chazelas

    
por 31.07.2014 / 15:44
12

No Linux, não há controle do tempo de criação de um arquivo. Você só pode acessar:

  • a hora da última modificação do conteúdo (uma criação conta como uma modificação do curso), mtime ,
  • o último horário de acesso, atime ,
  • a hora da última modificação dos metadados, ctime .

Se você deseja procurar arquivos com um teste com base nesses horários, find ( man find ) pode ajudá-lo.

Você usaria dessa maneira para encontrar um arquivo acessado exatamente há 30 minutos em seu diretório atual e em seus subdiretórios:

find -amin 30

Normalmente, você vai querer usar um intervalo, pois pode ser difícil dar um número exato de minutos:

find -amin +25 -amin -35

Isso localizará arquivos acessados há mais de 25, mas menos de 35 minutos atrás.

E, se estiver interessado apenas no tempo de modificação e não no tempo de acesso (ou seja, leitura), substitua -amin por -mmin .

    
por 18.07.2014 / 17:34
2

Você pode usar mtime para fazer isso:

find . -mmin 30    #exactly 30 minutes old
    
por 18.07.2014 / 17:35

Tags