जवाबों:
ईमानदार होना, सीधे तौर पर नहीं।
फ़ाइल के बारे में जानकारी प्राप्त करने के लिए आपको दूरस्थ साइट से डेटा प्राप्त करना होगा। आमतौर पर यह एक 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बाद से अक्सर "अंतिम-संशोधित" का उपयोग करने का एक अलग मामला है।