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.