2012-03-16 14 views
6

Sto cercando di ottenere un conteggio di quanti PDF sono stati creati il ​​mese scorso. Sto usando il seguente comando ma è tornando 0ottiene il numero di file modificati il ​​mese scorso

find . -name '*.pdf' -mtime +46 ! -mtime +30 | wc -l 

Sono nella directory corretta e sembra che la logica è corretta ... tutte le idee sul perché questo non sta funzionando? C'è un modo più semplice, diciamo di passare il mese specifico che sto cercando invece di provare a calcolare giorni come questo?

risposta

21

si stanno trovando tutti pdf file:

  • 46 giorni fa
  • non

    30 giorni fa

    x>46 && x<=30 --> false 
    

Esso ritornerà risultato vuoto.


Numeric arguments can be specified as 
    +n  for greater than n, 
    -n  for less than n, 
    n  for exactly n. 

Se volete trovare tutti pdf file (30<x<46):

$ find . -name '*.pdf' -mtime +30 -mtime -46 
+0

[Ci sono 3 tipi di "timestamp"] (https://unix.stackexchange.com/a/2465/209677): tempo di accesso ('atime'), cambio orario (' ctime') e modifica del tempo ('mtime'). Perché usi 'mtime' invece di' ctime'? –

6

in cui sembra essere alla ricerca di file che sono più vecchi di 46 giorni, ma non più vecchio (cioè più giovane) di 30 giorni.

Che dire di questo?

find . -name '*.pdf' -mtime -46 -mtime +30 
8

Se stai usando GNU find è possibile specificare le date assolute come questo:

find . -name '*.pdf' -newermt 2012-01-31 ! -newermt 2012-02-29 | wc -l 

L'opzione -newermt trovare i file che sono stati modificati più di recente di un tempo assoluto.

Se non si utilizza GNU, è possibile utilizzare touch per creare due file con il timestamp appropriati e trovare i tuoi file PDF in questo modo:

touch -t 201201312359 oldest # 11:59 PM 1/31/2012 
touch -t 201203010000 newest # midnight 3/1/2012 
find . -name '*.pdf' -newer oldest ! -newer newest | wc -l 

Vedere la GNU documentation per i dettagli.

+0

Grazie per il suggerimento! Funziona con 4.3.3+ (24 gennaio 2009), quindi non disponibile su sistemi precedenti (come RHEL 5). – Nickolay

Problemi correlati