Belirli bir ayda (örneğin, Şubat) değiştirilen dosyaları listeleme konusunda zorlanıyorum. İşte birkaç başarısız girişimleri şunlardır:UNIX/BASH: Belirli bir ayda değiştirilen dosyaları listeleme
1) geçici dosyaları oluşturma ve bu gibi gelecek aya ilk defa kendi zaman damgasını ayarlama ve hedef ayda ilk kez ve Bul içinde -newer kullanmak çalıştı:
find -newer "$from" ! -newer "$to"
Bu, zaman aralığında değiştirilen dosyaları listeler ($ from, $ to), ancak zaman aralığını [$ from, $ to) istiyorum (aksi takdirde, ilk saniyede oluşturulan dosyalarda yanlış pozitifler olur) gelecek ay). Şubat ayında değiştirilen listeleme dosyaları fazladan bir sorundur çünkü bu zaman damgalarından birini Şubat ayında hala en büyük olana ayarlamanızı gerektirecektir. Ancak, Şubat'taki gün sayısı, bir artış yılı olup olmadığına bağlı olarak değişir. .
2) ls
kullanırsam Kullanıcı adı veya grubunun boşluk içerme olasılığı nedeniyle ayrıştırma sırasında çok fazla sorun görüyorum.
Bunu yapmak için kolay bir yol ve nispeten portatif bir yol var mı (bu nedenle dosya adlarından bağımsız olarak her ay çalışır)? Ben find
-printf
bir sonuç kendisini filtre sanmıyorum
find -printf "%Cm %p\\n"| egrep ^02 |cut -b4-
, ne de tarih unsurları filtreleyebilirsiniz:
Bunu [ayrıştırmak olmamalı 'ls'] (http://mywiki.wooledge.org/ParsingLs) keşfettiğiniz olarak. –