OS X'te değişiklik tarihine göre sıralanan 'find' komut satırında bulunan dosyaları nasıl alabilirim?


13

Mac OS X Terminalini kullanarak, findsonuçları değişiklik tarihine göre sıralayan bir komutu nasıl yazarım (en sonuncusu)?

Zaten benzer sorular var, ancak GNU findve POSIX'e atıfta bulunuyorlar , ancak Mac OS X'in GNU veya POSIX veya başka bir şey olup olmadığını bilmiyorum.

Yanıtlar:


16

OS X tamamen POSIX uyumludur.

Böyle bir şey yapmalı:

find . -type f -name "*.txt" -print0 | xargs -0 ls -tl

Bazı notlar:

  • İçindeki -tseçenek lssıralanacaktır mtime.
  • xargsdosya adlarını argüman olarak iletmek için kullanılır ls. Kullanmak zorunda olduğunu Not -print0içinde findve -0de xargsonların adlarında boşluk içeren dosyalar varsa. Ayrıca, bağımsız değişkenler maksimum miktarda olan sınırlı ARG_MAXbir değişken . Bunların kaç tane olduğunu öğrenmek için girin getconf ARG_MAX.
  • Sen sağlayabilmektedir -r(ilk → eski dosyaları) sıralama düzeni tersine çevirmek için
  • Diğer findve lsseçenekler - her zamanki gibi - kılavuzlarda ( man findveya man ls) belirtilmiştir.

ls -ltrsiparişi tersine çevirmek için.
— Daniel Beck

X onları sadece ARG_MAXbu şekilde dosya adı karakterleri gruplarında (biraz daha az) sıralar .
— JdeBP

Evet, @JdeBP ve Daniel ilavesi için teşekkürler. getconf ARG_MAXbu numarayı gösterecektir.
— slhck

ah benim sorun şimdi bu komut bir applecript kullanıyorum ve sonucu bu dosyanın içeriğini okumak için kullanıyordum. Ama şimdi sonuç sadece dosya adını değil, tarih dosyasını da içeriyor: kabuk komut dosyası yap "find / Users / akw / Library / Preferences / ByHost / -name 'com.apple.windowserver *' -print0 | xargs -0 ls -tl | head -1 "bunu döndürür ->" -rw ------- @ 1 akw staff 5512 Jun 19 07:52 /Users/akw/Library/Preferences/ByHost//com.apple.windowserver.1FC3A841-2C0C- 5F48-B746-1DEE064F6D12.plist "
— zadam

@zadam ls -tyerine kullanın ls -tl. -lSize tarihlerini içeren uzun bir liste verir. Tam olarak ne yapmaya çalıştığınızı bilmiyordum, bunun için çok üzgünüm mtime.
— 22'de slhck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.