जवाबों:
ईमानदार होना, सीधे तौर पर नहीं।
फ़ाइल के बारे में जानकारी प्राप्त करने के लिए आपको दूरस्थ साइट से डेटा प्राप्त करना होगा। आमतौर पर यह एक HEAD
अनुरोध के साथ किया जाता है , लेकिन कुछ (अधिकांश?) सर्वरों ने इसे सही ढंग से लागू नहीं किया है और पूरी फाइल को डिलीवर कर दिया है, जैसे एक GET
अनुरोध। यह मानते हुए कि आपने curl
स्थापित किया है:
curl -s -v -X HEAD http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
आप जो चाहते हैं वह आपको दे सकते हैं, लेकिन जैसा कि कहा गया है, यह सर्वर पर अत्यधिक निर्भर करता है।
HEAD
। फिर भी, उन साइटों को भी आपको परिणाम मिलेगा, क्योंकि वे सब कुछ देने वाले हैं।
--head
विकल्प का उपयोग करने के बजाय -X HEAD
इसके अधिक स्वर के कारण कमांड बन जाएगी: curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
curl -svX HEAD
और भी अधिक कठिन है ...
सर्वर प्रतिक्रिया में आमतौर पर Last-Modified
फ़ील्ड होता है, आप फ़ाइल को डाउनलोड किए बिना इसे जांच सकते हैं। उपयोग करने की आवश्यकता नहीं है -X HEAD
, उसके -I
लिए एक विशेष विकल्प है ( -s
प्रगति आउटपुट को दबाता है) :
curl -sI http://example.com/bar/example.pdf | grep -i Last-Modified
मेरे मामले में भी कोई कर्ल स्थापित नहीं है (मैं एक एम्बेडेड डिवाइस के लिए स्क्रिप्ट कर रहा हूं) , बस wget
। Wget के साथ तरीका है:
wget --server-response --spider http://example.com/bar/example.pdf 2>&1 | grep -i Last-Modified
--server-response
प्रिंट हेडर, और --spider
विकल्प बलों पृष्ठों को डाउनलोड न करें, बल्कि अपने अस्तित्व की जाँच करें।
curl
स्वीकार किए गए से बेहतर उत्तर है। शायद के grep -i
बाद से अक्सर "अंतिम-संशोधित" का उपयोग करने का एक अलग मामला है।