Estoy creando una secuencia de comandos Bash simple para extraer la fecha / hora de modificación del archivo de un archivo remoto a través de HTTP.
Archivo de ejemplo: http://example.com/bar/example.pdf
¿Se puede hacer esto sin descargar el archivo real? Si no, ¿cuál es la mejor alternativa?
HEAD
. Sin embargo, también esos sitios le darán el resultado, ya que se supone que deben entregar todo.--head
opción en lugar de-X HEAD
ser más conciso para que el comando se convierta en:curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
curl -svX HEAD
es aún más conciso ...La respuesta del servidor generalmente tiene un
Last-Modified
campo, puede verificarlo sin descargar el archivo. No es necesario usar-X HEAD
, hay una opción especial-I
para eso (-s
suprime la salida de progreso) :También en mi caso no hay ningún curl instalado (estoy haciendo un script para un dispositivo incrustado) , solo
wget
. La forma con wget es:Los
--server-response
encabezados de impresiones, y las--spider
fuerzas opción de no descarga las páginas, sino más bien comprobar su existencia.fuente
curl
es una mejor respuesta que la aceptada. Quizás el usogrep -i
dado que a menudo la "última modificación" tiene un caso diferente.