Saya mencoba untuk mendapatkan file yang lebih lama dari beberapa hari dan mendaftarnya dalam urutan menurun berdasarkan ukurannya dengan semua informasi mereka (ukuran, path lengkap dll - sesuatu yang serupa yang disediakan oleh ls
).
Meskipun saya dapat menemukan file yang lebih lama dengan:
find . -mtime +10
Saya tidak dapat membuat daftar informasi yang diinginkan.
Jawaban:
Asalkan jalur file Anda tidak mengandung karakter baris baru:
Lihat
find
manual , bagianActions
.%s
Ukuran file dalam byte.%n
Jumlah tautan keras ke file.%m
Bit izin file (dalam oktal ).%u
Nama pengguna file, atau ID pengguna numerik jika pengguna tidak memiliki nama.%g
Nama grup file, atau ID grup numerik jika grup tidak memiliki nama.%t
Waktu modifikasi terakhir file dalam format yang dikembalikan olehctime
fungsi C.%p
Nama file.%l
Objek tautan simbolik (string kosong jika file bukan tautan simbolik).BTW: Perhatikan bahwa manual POSIX
find
tidak menentukan sebagian besar tindakan di atas.sumber
Perintah ini hanya menggunakan fitur POSIX dari
find
dan darils
:Namun, ini dapat memanggil
ls
lebih dari sekali, jika ada sejumlah besar file di direktori saat ini (atau subdirektori secara rekursif) yang cocok dengan yang-mtime +10
utama.Jika itu memanggil
ls
lebih dari sekali, tentu saja, penyortiran hanya akan dilakukan dalam setiapls
eksekusi, bukan di beberapa eksekusi.Namun, untuk jumlah file yang masuk akal, ini kemungkinan merupakan taruhan terbaik Anda.
sumber
ls
disahkan hanya satu argumen, ada sedikit penyortiran yang bisa dilakukan untuk itu. Dengan+
alih-alih;
, itu akan lebih baik, tetapils
masih bisa berakhir dipanggil beberapa kali jika ada banyak file.Dengan
zsh
:Atau untuk menghindari penyortiran ganda (berdasarkan nama dengan zsh dan berdasarkan ukuran oleh ls):
atau (jika
ls
dukungan Anda-U
untuk yang tidak disortir):Tambahkan
D
kualifikasi glob adalah Anda ingin melihat file tersembunyi juga.sumber
zargs
.Saya pikir Anda bisa melakukan sesuatu yang mirip dengan:
perhatikan
-S
parameterls
perintah:sumber
/home/phphil
. Cobals -ld ...
find . -type f
saja?find ... -type f
akan bekerja, seperti halnya menambahkan-d
bendera kels
coba ini:
sumber
Untuk one-liner yang lebih mudah, Anda bisa menggunakan
find
opsi-ls
. Tampaknya dalam banyak kasus ukuran file berada di kolom ketujuh dari informasi yang tercantum (jadi ubah7
di akhir perintah sebagaimana mestinya jika tidak):sumber
Variasi lain adalah menggunakan:
Inilah perintahnya:
sumber