#!/bin/bash # v0.1 : basic title extract # v0.2 : added help arguments # v0.3 : added version arguments # v0.3.1: change !title to title in version info # v0.4 : added case insensitive matching # v0.5 : ignore SSL certificate errors # v0.6 : switch to curl, add maximum filesize and time limits # v0.7 : follow HTTP redirects, was broken since switch to curl # v0.7.1: pretend to be Firefox, some broken websites reject cURL # v0.8 : strip newlines and leading whitespace from "broken" titles : update user agent string # v0.8.1: change name in version string to "blatitle" OPTS='--location --insecure --silent --max-filesize 1048576 --max-time 10 -A "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0"' read url if [ "$url" == "-h" ] || [ "$url" == "--help" ] then echo "Usage: '!title ' where is an http:// or https:// URL" elif [ "$url" == "-v" ] || [ "$url" == "--version" ] then echo "blatitle version 0.8.1" else curl $OPTS "$url" | sed -n -e 'H;${x;s!.*]*>\(.*\).*!\1!I;tnext};b;:next;s!.*\(.*\).*!\1!pI' | sed ':a;N;$!ba;s/\n//g' | sed -e 's/^[ \t]*//' fi