daftar cap waktu file dalam perintah "find"

26

Dalam bash, jika saya menggunakan $ find ./ -name "*.sqlite", itu akan mencantumkan semua file sqlite di direktori saat ini. Saya juga ingin melihat waktu modifikasi dari file, dapatkah ada yang memberi saya bantuan?

JW
sumber

Jawaban:

34

Anda dapat menambahkan ke findekspresi berikut:

-printf '%Tc %p\n'

untuk melihat sesuatu seperti

Sun Aug 14 06:29:38 2011 ./.nx/config/host.nxs

atau -printf '%TD %TT %p\n'untuk

08/14/11 06:29:38.2184481010 ./.nx/config/host.nxs

atau -printf '%T+ %p\n'jika sudah GNU find, untuk melihat

2011-08-14+06:29:38.2184481010 ./.nx/config/host.nxs

Yang terakhir ini, jika tersedia, juga berguna untuk keperluan penyortiran waktu.

Lihat halaman manual find, di mana ia berbicara tentang printf.

enzotib
sumber
-printftidak bekerja di OS-X. Apakah ada yang setara dengan perintah ini yang akan berfungsi untuk OS-X?
WanderingMind
@WanderingMind: di OS-X saya sarankan untuk menginstal MacPorts yang menyediakan banyak aplikasi UNIX, khususnya alat GNU, seperti yang ditemukan GNU.
enzotib
22

Peretasan cepat untuk mendapatkan rincian lebih lanjut tentang file yang ditemukan findadalah dengan menggunakan -lsopsi output.

find ./ -name "*.sqlite" -ls

Untuk hasil yang lebih tepat , jawaban enzotib tepat .

Caleb
sumber
Saya memberi suara positif, tetapi ini tidak menunjukkan tanggal dengan benar, jadi sulit untuk menemukan "terbaru" misalnya.
lpapp
Ini adalah satu-satunya tempat saya mengetahui tentang opsi -l yang sangat saya butuhkan
Atul
-1

Gunakan perintah di bawah ini untuk mendapatkan daftar file dengan cap waktu.

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 
Prashant Sawant
sumber
-3

Ini bekerja untuk saya:

$ find ./ -name "*.sqlite" -ls
ivaniliev
sumber
4
Ini tampaknya merupakan duplikat lengkap dari jawaban @ Caleb.
Chris Down