GNU/Linux >> Belajar Linux >  >> Linux

Secara rekursif menemukan semua file yang lebih baru dari waktu yang ditentukan

Ini agak berputar-putar karena touch tidak mengambil time_t mentah nilai, tetapi harus melakukan pekerjaan dengan cukup aman dalam skrip. (-r opsi untuk date hadir di MacOS X; Saya belum memeriksa ulang GNU.) Variabel 'waktu' dapat dihindari dengan menulis substitusi perintah langsung di touch baris perintah.

time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0

Anda dapat menemukan setiap file yang dibuat/diubah pada hari terakhir, gunakan contoh ini:

find /directory -newermt $(date +%Y-%m-%d -d '1 day ago') -type f -print

untuk menemukan semuanya dalam seminggu terakhir, gunakan '1 minggu yang lalu' atau '7 hari yang lalu' apa pun yang Anda inginkan


Mungkin seseorang bisa menggunakannya. Temukan semua file yang dimodifikasi dalam jangka waktu tertentu secara rekursif, jalankan saja:

find . -type f -newermt "2013-06-01" \! -newermt "2013-06-20"

Linux
  1. Temukan File Terbesar Secara Rekursif?

  2. Cara Menemukan Semua File dengan Ukuran File Nol (0) Bytes di Direktori Secara Rekursif

  3. Bagaimana menemukan semua file yang jarang di Linux

  1. Daftarkan semua file secara rekursif dalam direktori termasuk file dalam direktori symlink

  2. Cara gzip semua file di semua sub-direktori di bash

  3. Buat daftar semua file gambar grafik dengan find?

  1. Secara rekursif menemukan file dengan ekstensi tertentu

  2. file rsync lebih baru dari 1 minggu

  3. Temukan semua file yang lebih lama dari satu menit