Dosyamın 5 günden eski olup olmadığını kontrol etmek için find myfile.txt -mtime +5
yapabildiğimin farkındayım. Ancak, myfile.txt günlerinde mtime almak ve daha fazla kullanım için bir değişkene saklamak istiyorum. Bunu nasıl yaparım?bash - Belirli bir dosyadan anı mı alacaksınız?
cevap
stat
sana o bilgi verebilir:
filemtime=`stat -c %Y myfile.txt`
%Y
size "Çağın beri saniye" olarak geçen modifikasyon verir, ama birçok diğer seçenek vardır; more info. Ah, gün içinde zaman istiyorum ancak değiştirilmiş beri: Dosya 15:30 GMT 2011-01-22 tarihinde güncellenmiştir Yani, yukarıda
Düzenleme 1295710237. bölgesinde bir dizi dönecekti . Bu daha karmaşık olacak, en azından bir "gün" sabit bir zaman değil (bazı "günler" sadece 23 saat, diğerleri 25 — sayesinde gün ışığından yararlanma süresi).
filemtime=`stat -c %Y $1`
currtime=`date +%s`
diff=$(((currtime - filemtime)/86400))
echo $diff
... ama yine o bir gün farz ediyor her zaman tam olarak 86.400 ikinci uzun:
naif versiyonu aşağıdaki gibi görünebilir.
Daha fazla bilgi için aritmetik in bash here.
Bu cevap ben miyim? Perl'in -M
operatörü sizin için güne stat
çağrı ve dönüşüm kolları olarak
stat --help
Usage: stat [OPTION]... FILE...
Display file or file system status.
[...]
-c --format=FORMAT use the specified FORMAT instead of the default;
output a newline after each use of FORMAT
[...]
The valid format sequences for files
[...]
%y Time of last modification, human-readable
%Y Time of last modification, seconds since Epoch
[...]
AGE=$(perl -e 'print -M $ARGV[0]' $file)
, günde $ dosyasının yaşına $ AGE ayarlayacaktır istatistik yardım en
A=$(stat -c "%y" myfile.txt)
bakış .
Dönüş değeri, kayan nokta değeridir (ör. 6.62849537 gün). Eğer bir tamsayı sonucunu Yakut ve Python de bir dosya Stat ve bazı verileri döndürmek için onların bir gömlekler var
AGE=$(perl -e 'print int -M $ARGV[0]' $file)
olması gerekiyorsa ifadeye bir int
ekleyin ama Perl en özlü şekilde olduğuna inanıyorum.
Bu, kabul edilenlerden daha iyi bir cevap! – Anne
- 1. Bash - Belirli bir desen içermeyen bir dosyadan satırların alınması
- 2. Dosyadan bash komut geçmişini yükleme
- 3. Bash bir dosyadan ilişkisel bir diziye okuma
- 4. Perl'deki büyük dosyadan belirli bir satırın okunması
- 5. Ruby'deki bir dosyadan değişkenleri okuma
- 6. Bir uygulamanın tüm görünümlerini-her anı alın?
- 7. Bir dosyadan rastgele satır mı okuyorsunuz? C#
- 8. Bu bir bash mı? (Yukarı ok)
- 9. Belirli bir türdeki tüm dosyaları Bash
- 10. Makinenin boş kalmadığı anı alın
- 11. Bash
- 12. Sitedeki belirli sayfalarda özel JavaScript'i tek bir dosyadan yürütme
- 13. bash ~ dizinde belirli dosyalar üzerinde döngü için
- 14. UNIX/BASH: Belirli bir ayda değiştirilen dosyaları listeleme
- 15. Belirli bir dizindeki dosyaları nasıl bulabilir ve bash
- 16. BASH belirli bir karakter ayrılmış dizeleri kullanarak dosyaları oluşturma
- 17. Belirli bir sütuna göre iki dosyanın bash - instersection?
- 18. .dat dosyasındaki belirli bir sütundaki değer nasıl değiştirilir | Bash
- 19. bash
- 20. AnimateCamera yakınlaştırma anı nasıl tetiklenir 'sadece' sonlandır?
- 21. Bootstrap'in Carousel (v2.3.2) üzerindeki yükseklik değişimi anı
- 22. Haftanın belirli günlerini belirli bir aralıkta Linq'den aldınız mı?
- 23. Yeni satır UITextView'da başladığı anı algıla.
- 24. Geçen ayın ay adını kullanarak anı kullanın
- 25. Bash bash içinde renkli metin çıktısını algılar
- 26. Bir anı, anasistemde ISO 8601 olarak nasıl biçimlendiririm?
- 27. , metni belirli bir hücrede QTableWidget'de aldınız mı?
- 28. Linux bash kabuk komut dosyaları ile bir dosyadan en fazla sayı nasıl edinilir
- 29. Bir dosyadan bitler nasıl okunur?
- 30. Bir Bağdaştırıcının içinden dosyadan okuma
Bu çok hoştu, maalesef kendimi aptal yerine koymuştum ve günler içinde mtime çağına ihtiyacım olduğunu unuttum. Mümkün mü? – Industrial
@Industrial: Değere sahip olduğunuzda, üzerinde matematik yapabilirsiniz. Ne demek istediğini takip etmiyorum "... günlerde maman yaşı." (Günlerden beri ne zaman? Kaç gün önce değiştirildiğini mi kastediyorsun?) –
Günlerce ilgili kısmı kaçırdım, oy ver +1 – Anders