GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membuat daftar file secara rekursif dan mengurutkannya berdasarkan waktu modifikasi?

Gunakan find -printf dan urutkan berdasarkan format tanggal yang masuk akal:

find -type f -printf '%T+\t%p\n' | sort -n

Ini harus meminimalkan garpu proses dan dengan demikian menjadi yang tercepat.

Contoh jika Anda tidak menyukai bagian pecahan kedua (yang seringkali tidak diterapkan di sistem file):

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

EDIT: find standar di Mac tidak memiliki -printf . Tetapi tidak sulit untuk menginstal GNU find di Mac (lihat juga tautan tersebut untuk peringatan lebih lanjut mengenai kompatibilitas Mac/Linux dan xargs ).


Berikut adalah metode menggunakan stat seperti yang disarankan @johnshen64

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

Linux
  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. Bagaimana cara membuat daftar file yang diubah dalam rentang waktu tertentu?

  3. Cara mendapatkan semua file yang melebihi ukuran tertentu dan menghapusnya

  1. Bagaimana menemukan direktori terbesar atau file terbesar?

  2. Bagaimana cara menemukan file dan menjumlahkan ukurannya?

  3. Bagaimana cara mendaftar semua file partisi di linux?

  1. Cara Menemukan dan Mengurutkan File Berdasarkan Tanggal dan Waktu Modifikasi di Linux

  2. Cara Menemukan File Konfigurasi MySQL, PHP dan Apache

  3. Temukan Dan Urutkan File Berdasarkan Akses, Tanggal Dan Waktu Modifikasi Di Linux