İndirilenler, tarihleri ​​1 yıldan fazla olan İndirilenler'deki tüm dosyaları silmek için bir komutu nasıl kullanabilirim?


12

Mac kullanıyorum. ~/DownloadsTarihleri ​​1 yıldan fazla olan tüm dosyaları silmek için bir komutu nasıl kullanabilirim ?


1
Özellikle bir terminal komutu mı arıyorsunuz, yoksa bir otomator eylemi gibi bir şey yeterli mi?
Jerry W.

1
"Kimin tarihleri ​​eklendi?" Neye ve nasıl eklendi?
Allan

1
@Allan "Görünüm> Düzenleme Ölçütü" nü veya Finder'daki "Görünüm Seçenekleri" nde bulunan sütunları kontrol edin; OS X, bir öğenin klasöre eklendiği tarihi izler.
Miles

@Miles - XCode Dev araçlarını ve özellikle kullanılan OP / ~ indirilen bir bash (veya daha genel olarak kabuk) kuralı yüklemezseniz bu özellikler bash'ta kullanılamaz.
Allan

Yanıtlar:


24

Bir yıldan uzun bir dizindeki dosyaları silmek nispeten basit bir komuttur. Örneğin, Terminal'de aşağıdaki komut yürütülür

find ~/Downloads/ -type f -mtime +365 -exec rm {} \;

~/Downloadsdizindeki bir yıldan eski tüm dosyaları silecektir .

  • find "şeyler" için arama yapan komuttur

  • -type fne arayacağınızı söyler, bu durumda dosyalar

  • -mtime +365 , değiştirilen sürenin 365 günden fazla olması gerektiğini söyler

  • -exec rm {} "bulunan" her öğeyi komuta iletir (yürütür) rm

Ne yapmak istiyorum -exec rm {} \;bölümünü hariç tutarak test ve doğru sonuçları almak emin olun. Bir kez eminim, sadece kaldırma işlemini tamamlamak için ekleyin.

Bir Uyarı! Bu dosyalar "Çöp Kutunuza" eklenmedi. Komut Çöp Kutusunu atlar ve hemen silinir, bu yüzden dikkatli kullanın.


Daha Güvenli Bir Yol ...

( Aşağıdaki yorumlarda kullanıcı lucasoldaini sayesinde )

Eğer "Çöp Kutusu" na dosyalarınızı taşımak isterseniz, basitçe yerine -exec rm {} \;kadar kısmını-exec mv {} ~/.Trash \;

Bir dahaki sefere boşaltıncaya kadar Çöp Kutunuzda kalırlar.

Man komut sayfalarını görüntüleyerek her komut hakkında daha fazla bilgi edinebilirsiniz:


6
Kullanmak yerine, hemen silinmelerini önlemek rmiçin dosyaları taşıyabilirsiniz ~/.Trash.
lucasoldaini

2
Not değiştirilme tarihini (Bu cevap faaliyet olan) farklıdır tarihi eklendi . Ayrıca, Safari indirilen bir dosyanın değişiklik tarihini varsa sunucu tarafından sağlanan dosyaya ayarlar , böylece dün indirilen bir dosya bile bir yıldan daha eski bir değişiklik tarihine sahip olabilir.
Miles

2
Homebrew'unuz varsa: brew install trash ve bunun yerine rm bundan sonra trash komutunu kullanın.
Kyslik

Cevabımı @lucasoldaini'nin önerisine göre güncelledim. Homebrew veya MacPorts kullanmak yerine yerleşik yöntemleri kullanmayı tercih ediyorum.
Allan

1
Çözümünü benimkinden daha çok seviyorum.
Jerry W.

10

Automator'ı kullanmak istiyorsanız, aşağıdaki gibi bir eylem oluşturabilirsiniz:

Bulucu Öğelerini Bul - İndirilenleri Ara - Aşağıdakilerin tümü doğrudur: -Tarih Tarihi son 365 gün içinde değildir.

Seçilen Bulucu Öğelerini Alın

Bulucu Öğelerini Çöp Kutusuna Taşıma

Uygun Ekran Görüntüsü: Otomatikleştirici İşlemleri


7

Araç seçimim, ayarladığınız belirli kurallara uyduklarında dosyalara ve klasörlere şeyler yapan düşük maliyetli çok amaçlı bir yazılım parçası olan Hazel . Bu kural, geçen yıl eklenmeyen dosyaları Hämtade dosyalayıcı klasöründen taşır . Her gün çalıştığı gibi yukarıdaki komut satırı çözümünden farklıdır, bu yüzden bir set ve unut çözümü. Hazel pref bölmesinin ekran görüntüsü


Bu, aynı olmayabilecek Tarih Değiştirme Tarihi yerine Eklenen Tarih kullandığından en iyi çözümdür. Bir komut satırı çözümü arayabilir kMDItemDateAdded, mdlsancak Hazel çözümünü şiddetle tavsiye ederim.
TJ Luoma
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.