Saya perlu membuat skrip yang menampilkan file dalam urutan yang sama dengan folder Unduhan default di dok, dipesan dengan Tanggal Ditambahkan, terbaru terlebih dahulu. Sepertinya saya tidak dapat menemukan opsi di ls
.
Adakah cara lain untuk melakukannya?
macos
command-line
metadata
Ramiro Araujo
sumber
sumber
Jawaban:
Solusi yang lebih sederhana (Lebih cepat):
sumber
Tanggal yang ditambahkan disimpan sebagai item metadata
kMDItemDateAdded
danmdls
perintah akan memaparkan data untuk setiap file yang diteruskan sebagai argumen.Jadi, untuk membuang tanggal yang ditambahkan untuk semua file di Unduhan dalam urutan apa pun * yang diperluas oleh shell Anda, Anda dapat:
Anda harus meretas bersama beberapa kombinasi find dan sed / awk / perl / apa pun untuk merakit pengganti
ls
tetapi mungkin mdfind dapat dipanggil oleh skrip Anda daripada perlu menemukan kembalils
dan mem-parsing output itu.sumber
Nah, seperti biasa, setelah menulis pertanyaan saya mulai menggali konten metadata dalam file, dan akhirnya menulis ini:
Pada dasarnya: 1. daftar semua file 2. disaring. dan .. 3. mendapatkan nama dan tanggal ditambahkan, satu baris demi 4. 4. menggabungkan setiap dua baris menjadi 1 baris 5. mengekstrak tanggal, waktu dan nama 6. mengurutkannya secara terbalik (karena datetime dimuka, itu mengurutkan berdasarkan tanggal Waktu)
Semoga ini bisa membantu orang lain! :)
@bmike sebenarnya, situs memberlakukan batasan untuk menjawab pertanyaan saya sendiri hanya setelah 8 jam memposting pertanyaan saya, karena kurangnya reputasi saya: D
sumber
ls -A
alih-alih-a
agar Anda tidak perlugrep -v
untuk.
dan..
.sumber