Ich erstelle ein einfaches Bash-Skript, um die Änderungszeit und das Datum einer Remote-Datei über HTTP zu extrahieren.
Beispieldatei: http://example.com/bar/example.pdf
Kann dies ohne Herunterladen der eigentlichen Datei erfolgen? Wenn nicht, was ist die beste Alternative?
HEAD
. Trotzdem geben Ihnen auch diese Seiten das Ergebnis, denn sie sollen alles liefern.--head
Option zu verwenden, anstatt-X HEAD
sie knapper zu machen, damit der Befehl wie folgt lautet:curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
curl -svX HEAD
ist noch knapper ...Die Serverantwort enthält normalerweise ein
Last-Modified
Feld. Sie können es überprüfen, ohne die Datei herunterladen zu müssen. Keine Notwendigkeit zu verwenden-X HEAD
, es gibt eine spezielle Option-I
dafür (die-s
unterdrückt die Fortschrittsausgabe) :Auch in meinem Fall ist keine Locke installiert (ich mache ein Skript für ein eingebettetes Gerät) , nur
wget
. Der Weg mit wget ist:Die
--server-response
Kopfzeilen werden gedruckt, und die--spider
Option erzwingt, keine Seiten herunterzuladen, sondern deren Existenz zu überprüfen.quelle
curl
ist eine bessere Antwort als die akzeptierte. Vielleicht hat die Verwendunggrep -i
der "zuletzt modifizierten" seit oft einen anderen Fall.