Usando o find para localizar arquivos modificados em agosto

1

Eu preciso encontrar arquivos modificados em agosto. Aqui está minha parte do comando que reduz o tempo de modificação. Isso funciona, mas parece que faltam alguns arquivos. Eu estou supondo que isso está faltando arquivos modificados em uma determinada hora ou hora (s) porque os números mudam dependendo de qual parte do dia em que eu executar este script. Eu estou olhando para o parâmetro -mmin , mas estou lutando com a forma de implementá-lo exatamente. Estou procurando todos os arquivos modificados entre Aug 1 - 31 .

    $dayOfMonth = date("j");
    $daysLastMonth = date("t", strtotime('-1 month'));
    $secondsSinceMidnight = time() - strtotime('00:00');
    $secondsUntilMidnight = (60*60*24) - $secondsSinceMidnight;
    $commandAppend = " -name '*.pdf' -mtime -".($dayOfMonth+$daysLastMonth)." -mtime +".($dayOfMonth)." | wc -l";
    
por Webnet 27.09.2012 / 14:22

2 respostas

1

Você poderia fazer algo com a opção -newer

touch -d "01 AUG 2012" start
touch -d "31 AUG 2012 23:59:59" end
find /path -newer start -not -newer end

O qual encontrará arquivos mais recentes que o arquivo start e não mais recente que o arquivo end

-newer file

          File was modified more recently than file.  If file  is  a  sym-
          bolic  link and the -H option or the -L option is in effect, the
          modification time of the file it points to is always used.
sudo find /home -newer start | wc -l
41597
sudo find /home -newer start -not -newer end | wc -l
41568
sudo find /home -newer end | wc -l
29
    
por 27.09.2012 / 14:36
0

Você pode criar dois arquivos usando touch -t representando o início e o final de sua duração. Em seguida, você pode usar a opção find with -newer . As respostas detalhadas são aqui .

    
por 27.09.2012 / 14:35