it-swarm-tr.com

Yalnızca ls ile bir tarihten sonra oluşturulan dosyaları nasıl alabilirim?

ls komutuyla, yalnızca belirli bir tarihten, saatten sonra oluşturulan dosyaları göstermek mümkün müdür?

Soruyorum çünkü binlerce dosyadan oluşan bir dizinim var.

Dünden beri oluşturulan tüm dosyaları görmek istiyorum.

ls -ltr Kullanıyorum ancak tüm dosyaları görmek için beklemek zorundayım ...

OpenVMS'den DIRECTORY/SINCE=date Eşdeğeri var mı?

109
Luc M

Belirli sayıda günden sonra değiştirilen tüm dosyaları bulmak için find komutunu kullanabilirsiniz.

Örneğin, geçerli dizindeki dünden (24 saat önce) değiştirilen tüm dosyaları bulmak için şunu kullanın:

find . -maxdepth 1 -mtime -1

Değiştirilen dosyaları bulmak için önce 24 saat önce -mtime +1 onun yerine -mtime -1.

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

Bu, belirli bir tarihten sonra değiştirilen tüm dosyaları bulur.

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

Umarım bu işe yarar:

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

Buraya:

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

bu yukarıdaki komut 1 Mayıs - 31 Mayıs arasında veya sonrasında oluşturulan tüm dosya adlarını yazdırır

konsolda da tarih yazdırmak istiyorsanız bunu deneyin

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

Dizinin yolunu belirtmek istiyorsanız bunu deneyebilirsiniz

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