Solusi 1:
find
akan melintasi pohon direktori dalam urutan item disimpan dalam entri direktori. Ini (sebagian besar) akan konsisten dari proses ke proses, pada mesin yang sama dan pada dasarnya akan menjadi "urutan pembuatan file/direktori" jika tidak ada penghapusan.
Namun, beberapa sistem file akan mengurutkan ulang entri direktori sebagai bagian dari operasi pemadatan atau saat ukuran entri perlu diperluas, jadi selalu ada kemungkinan kecil urutan "mentah" akan berubah seiring waktu. Jika Anda menginginkan urutan yang konsisten, masukkan keluaran melalui tahap penyortiran tambahan.
Solusi 2:
Anda tidak boleh bergantung pada urutan keluaran tertentu dari find
dan sebagai gantinya harus menggunakan sort
dan cara lain untuk mengontrol pesanan secara khusus.
Solusi 3:
Saya telah bekerja di UNIX/Linux sejak 1984/1991 dan perintah pertama yang diajarkan kepada saya adalah find. Linux/GNU telah memasukkan hampir semua yang Anda butuhkan ke dalam perintah find saat ini, jadi bermain-mainlah dengannya.
Berikut adalah beberapa tips bermanfaat untuk menyortir hasil pencarian. Opsi -printf memberi Anda banyak opsi untuk mengaktifkan penyortiran yang lebih kompleks dan presentasi info file. Ini yang terbaik untuk masalah seperti ini. Mainkan dengannya untuk melihat apa yang cocok untuk Anda. Menggunakan -printf Anda dapat menyesuaikan dan membatasi hasil seperti yang Anda inginkan. Ini cukup membantu ketika Anda perlu memposting proses hasilnya. Saya harap ini membantu seseorang.
-
Jika Anda menggunakan -ls dan ingin mengurutkan berdasarkan nama file, bidang ke-11 adalah nama file sehingga Anda dapat melakukan hal berikut. Opsi sort -k dapat mengambil beberapa bidang untuk disortir juga.
temukan /jalur -ls | urutkan -k11
-
Jika Anda ingin kontrol butiran yang lebih baik yaitu mengurutkan berdasarkan tanggal/waktu dalam urutan naik atau turun gunakan opsi -printf "". Lihat manual untuk detail lebih lanjut, namun berikut ini adalah contoh yang akan dicetak dengan pecahan detik sehingga sangat akurat.
CONTOH TANGGAL/WAKTU:17-09-2016+12:09:57.9013929800
find /path -printf "%T+ %p\n" | sort -n # Ascending
find /path -printf "%T+ %p\n" | sort -nr # Descending
Cara lain untuk melakukannya tanpa karakter dalam string tanggal/waktu adalah.
CONTOH TANGGAL/WAKTU:20160917120013.8101685040
find /path -printf "%AY%Am%Ad%AH%AM%AS %p\n" | sort -n