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.