Dengan ls
perintah, mungkinkah hanya menampilkan file yang dibuat setelah tanggal tertentu, jam ...?
Saya menanyakannya karena saya memiliki direktori dengan ribuan file.
Saya ingin begitu melihat semua file yang dibuat sejak kemarin.
Saya menggunakan ls -ltr
tetapi saya harus menunggu untuk melihat semua file ...
Ada yang setara dengan DIRECTORY/SINCE=date
dari OpenVMS?
ls
daftar file, tetapi tidak menawarkan banyak untuk memilih file apa yang akan dicantumkan atau format output. Gunakan globbing (shell wildcard) ataufind
ketika Anda ingin memilih file berdasarkan nama atau metadata (misalnya tanggal).zsh
:ls -1 -- *(.m-1)
Jawaban:
Anda dapat menggunakan
find
perintah untuk menemukan semua file yang telah dimodifikasi setelah beberapa hari.Misalnya, untuk menemukan semua file di direktori saat ini yang telah dimodifikasi sejak kemarin (24 jam yang lalu) gunakan:
Perhatikan bahwa untuk menemukan file diubah sebelum 24 jam yang lalu, Anda harus menggunakan
-mtime +1
bukan-mtime -1
.sumber
ls
sini, Luc.-mmin 5
daftar file yang diubah dalam 5 menit terakhir.-newermt "2011-02-27 13:42"
daftar file yang dimodifikasi sejak tanggal yang ditentukan. Anda dapat menggunakan-exec ls --color -ld {} +
alih-alih-ls
untuk mendapatkan tampilan warna biasa (jika Anda suka ls berwarna).find . -mmin -5
Ini akan menemukan semua file diubah setelah tanggal tertentu.
sumber
sumber
date
katakanJun 03
, tetapils
katakanJun 3
, jadi ini tidak berhasil. (2) Seminggu yang lalu, tanggalnya adalah 27 Mei.ls -l | grep "May 27"
Akan menemukan file yang dimodifikasi hari itu, tetapi juga file yang dimodifikasi 27 Mei tahun lainnya - dan file dengan "27 Mei" di namanya. (Dan jika Anda berpikir itu adalah masalah yang benar-benar palsu, lihatlah “10 Des” .) (3) Dan, jika Anda berhasildate
mengatakannyaJun 2
, memahami hal itu akan menemukanJun 20
jawabannyaJun 29
, tetapi tidakJun 2
(dengan dua spasi). … (Lanjutan)ls -ltr
untuk mendapatkan file yang paling baru diubah pada akhir daftar. Jika Anda ingin berkencan, tidak perlu melakukan itu (kecuali untuk mendapatkan file 27 Mei 2015 di akhir daftar, setelah file 27 Mei 2014, 27 Mei 2013, dll.). (5) Dalam awk,print $2, $3
setara denganprint $2" "$3
, dan jauh lebih mudah dibaca - terutama ketika ada tiga tingkat kutipan lainnya.ls -ltr | grep "$(date | awk '{print $2,$3}')"
Semoga ini berhasil:
Sini:
perintah di atas ini mencetak semua nama file yang dibuat pada atau setelah 1 Mei hingga 31 Mei
jika Anda ingin mencetak tanggal juga di konsol coba ini
Jika Anda ingin menentukan jalur direktori, Anda dapat mencobanya
sumber
ls
output. Dan tidak semua orang berbicara bahasa Inggris :-)