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?

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.


-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 .


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" 

-3

Ini bekerja untuk saya:

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

4
Ini tampaknya merupakan duplikat lengkap dari jawaban @ Caleb.
Chris Down
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.