Sesuatu seperti:
find /path/ -type f -exec stat \{} --printf="%y\n" \; |
sort -n -r |
head -n 1
Penjelasan:
- perintah find akan mencetak waktu modifikasi untuk setiap file yang secara rekursif mengabaikan direktori (menurut komentar oleh IQAndreas, Anda tidak dapat mengandalkan stempel waktu folder)
- urutkan -n (numerik) -r (terbalik)
- head -n 1:dapatkan entri pertama
Jika Anda memiliki versi find
(seperti GNU find
) yang mendukung -printf
maka tidak perlu memanggil stat
berulang kali:
find /some/dir -printf "%T+\n" | sort -nr | head -n 1
atau
find /some/dir -printf "%TY-%Tm-%Td %TT\n" | sort -nr | head -n 1
Namun, jika Anda tidak membutuhkan rekursi:
stat --printf="%y\n" *
Jika saya bisa, saya akan memilih jawaban oleh Paulo. Saya mengujinya dan memahami konsepnya. Saya dapat mengonfirmasi bahwa ini berfungsi. find
perintah dapat menampilkan banyak parameter.Misalnya, tambahkan yang berikut ke --printf
klausa:
%a for attributes in the octal format
%n for the file name including a complete path
Contoh:
find Desktop/ -exec stat \{} --printf="%y %n\n" \; | sort -n -r | head -1
2011-02-14 22:57:39.000000000 +0100 Desktop/new file
Izinkan saya mengajukan pertanyaan ini juga:Apakah penulis pertanyaan ini ingin menyelesaikan masalahnya menggunakan Bash atau PHP? Itu harus ditentukan.
Diberikan dua pohon direktori, bagaimana saya bisa mengetahui file mana yang berbeda berdasarkan konten?
Cat Piksel ke Layar melalui Linux FrameBuffer