it-swarm.it

Come ottenere solo i file creati dopo una data con ls?

Con il comando ls, è possibile mostrare solo i file creati dopo una data, un'ora ... specifica?

Lo sto chiedendo perché ho una directory con migliaia di file.

Voglio quindi vedere tutti i file creati da ieri.

Io uso ls -ltr ma devo aspettare per vedere tutti i file ...

Esiste un equivalente di DIRECTORY/SINCE=date da OpenVMS?

109
Luc M

È possibile utilizzare il comando find per trovare tutti i file che sono stati modificati dopo un certo numero di giorni.

Ad esempio, per trovare tutti i file nella directory corrente che sono stati modificati da ieri (24 ore fa) utilizzare:

find . -maxdepth 1 -mtime -1

Nota che per trovare i file modificati prima 24 ore fa, devi utilizzare -mtime +1 invece di -mtime -1.

132
dogbane
find . -type f -newermt '1/30/2017 0:00:00'

Questo troverà tutti i file modificati dopo una data specifica.

29
nullability
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
1
Trant Batey

Spero che funzioni:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

Qui:

$6 indicates position of month
$7 indicates day of the month

questo comando sopra stampa tutti i nomi dei file che vengono creati dal 1 maggio al 31 maggio o successivamente

se si desidera stampare anche la data sulla console, provare questo

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

Se si desidera specificare il percorso della directory, è possibile provarlo

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
0
Rohit Nimmala