Isso parece se ajustar aos seus requisitos (atualizado para usar '\ r \ n' como separador de registro para dados de resposta):
#!/bin/sh
get_url_date()
{
curl --silent --head "${1:?URL ARG REQUIRED}" |
awk -v RS='\r\n' '
/Last-Modified:/ {
gsub("^[^ ]*: *", "")
print
exit
}
'
}
unset date_format
case $1 in
(+*)
date_format="$1"
shift
;;
esac
url_date="$(get_url_date "${1:?URL ARG REQUIRED}")"
if [ -z "$url_date" ]
then
exit 1
fi
if [ "$date_format" != "" ]
then
date "$date_format" -d"$url_date"
else
echo "$url_date"
fi