GNU/Linux >> Belajar Linux >  >> Linux

di terminal linux, bagaimana cara menampilkan tanggal modifikasi terakhir folder, dengan mempertimbangkan kontennya?

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.


Linux
  1. Cara Menemukan dan Mengurutkan File Berdasarkan Tanggal dan Waktu Modifikasi di Linux

  2. Cara Mengetahui Apakah Disk Adalah SSD Atau HDD Di Linux

  3. Cara mem-pipe hasil 'find' ke mv di Linux

  1. Cara membuka dan menutup direktori di terminal Linux

  2. Cara mengubah warna terminal Linux Anda

  3. Cara Mencari Web Dari Terminal Di Linux

  1. Bagaimana menemukan versi Redhat Linux yang diinstal

  2. Linux – Bagaimana Menemukan Tanggal Pembuatan File?

  3. Linux – Bagaimana Cara Menampilkan Jenis Filesystem Melalui Terminal??