Oluşturma tarihi yy-mm-dd
ve Mac ve Ubuntu için gerçek tarih olarak yeniden adlandırmak için bir çözüm oluşturmak için arıyorum. AppleScript ile bir uygulama oluşturmayı ve saat başı olarak launchd
ile nasıl arayacağımı biliyorum ve dosyalar, dosyanın başlangıcında oluşturma tarihine sahip olmayan depolama için repo'ya gönderildiğinde bir CRON işi kullanın.OSX'te oluşturma tarihine göre dosyalar nasıl yeniden adlandırılır?
for file in *.zip; do
mv -n "$file" "$(date +%Y%m%d_"$file")"
done
ama çalıştığınızda:
Ben bugünkü tarihe göre dosyaları yeniden
for f in *.zip; do
D=$(stat -n '%Y%m%d' $f)
mv -v "$f" "$D_$f"
done
hiçbir şey olmuyor. Dosyanın tarihini almak için stat foobar.zip
kullanabiliyorum, ancak oluşturma tarihini uygulamak için bir tarih yoksa test etmek için koşulumu yazdığımda bunu oluşturma tarihi için yapabileceğimin bir yolu var mı? Biraz Ubuntu'da date -r
yapabildiğimi hatırlıyorum ama bu Mac'te mevcut değil. SO, AskUbuntu ve Unix'i aradım ancak bunu yapma seçeneğine izin verecek bir çözüm bulamıyorum. D
değişkenini ayarlamak için stat
ve awk
ile test etmeyi düşündüm ve bu şekilde yeniden adlandırın.
ben istatistik 'almak Böyle bir dosya ya da öylesine directory' Bunu $ (stat -f% c $ f) olarak değiştirdim ve hiçbir şey olmuyor: foobar.zip -> foobar.zip'. Cevabınızda başkalarına yardım etmek için neler olup bittiğini açıklıyor musunuz? –
Doğru, bu benim test dosyamdı, değiştirmeyi unuttum. Sadece mv'nizi mi değiştirdin? Yoksa iki ifadeyi de mi değiştirdin? Döngünün içine "echo $ D" koyarsanız, ne gösterir? – Amadan
Evet 'echo $ D' çalıştırdığımda, bugünün tarihi. Dosyanın oluşturulma tarihi değil, bu durumda 2012-04-16. –