Jika seseorang findtidak memiliki -mmindan jika seseorang juga terjebak dengan findyang hanya menerima nilai integer -mtime, maka semua tidak selalu hilang jika seseorang menganggap bahwa "lebih tua dari" mirip dengan "tidak lebih baru dari".
Jika kami dapat membuat file yang memiliki batas waktu cut-off kami, kami dapat meminta finduntuk mencari file yang "tidak lebih baru dari" file referensi kami.
Untuk membuat file yang memiliki waktu yang benar cap adalah sedikit terlibat karena sistem yang tidak memiliki cukup findmungkin juga memiliki kurang mampu dateperintah yang bisa melakukan hal-hal seperti: date +%Y%m%d%H%M%S -d "6 hours ago".
Untungnya, alat lama lain yang dapat mengelola ini, meskipun dengan cara yang lebih sulit.
Anggap enam jam adalah 21600 detik. Kami ingin menemukan waktu enam jam yang lalu dalam format yang bermanfaat:
$ date && perl -e '@d=localtime time()-21600; \
printf "%4d%02d%02d%02d%02d.%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]'
> Thu Apr 16 04:50:57 CDT 2020
202004152250.57
Pernyataan perl memang menghasilkan tanggal yang bermanfaat, tetapi harus dimanfaatkan dengan lebih baik:
$ date && touch -t `perl -e '@d=localtime time()-21600; \
printf "%4d%02d%02d%02d%02d.%02d\n", \
$d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]'` ref_file && ls -l ref_file
Thu Apr 16 04:53:54 CDT 2020
-rw-rw-rw- 1 root sys 0 Apr 15 22:53 ref_file
Sekarang solusi untuk UNIX lama ini adalah sesuatu seperti:
$ find . -type f ! -newer ref_file -a ! -name ref_file -exec rm -f "{}" \;
Mungkin juga merupakan ide bagus untuk membersihkan file referensi kami ...
$ rm -f ref_file