From 7c642e6cd25179c0eda38fbb4a41be8c60800cd1 Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Fri, 27 Jan 2017 15:15:43 +0000 Subject: Find the first non-blank test/plain line rather than selecting the literal first line --- title.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/title.bash b/title.bash index 9afc7f3..274fdd1 100755 --- a/title.bash +++ b/title.bash @@ -22,6 +22,7 @@ # v1.2 : deal with some cURL exit codes # v1.2.1: decode HTML using PHP instead of recode (adds PHP as a dependency, removes recode) # v1.2.2: do case insensitive header checks +# v1.2.3: find the first non-blank test/plain line rather than selecting the literal first line 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" -H "Accept-Encoding: gzip" -H "Accept: text/html"' @@ -40,7 +41,7 @@ then echo "Usage: '!title ' where is an http:// or https:// URL" elif [ "$url" == "-v" ] || [ "$url" == "--version" ] then - echo "blatitle version 1.2.2" + echo "blatitle version 1.2.3" else eval curl $OPTS -D /tmp/$TIME.header '$url' -o /tmp/$TIME.body.gz ret=$? @@ -57,7 +58,7 @@ else grep -qi "Content-Type: text/plain" /tmp/$TIME.header && TYPE="text/plain" if [ "$TYPE" == "text/plain" ] then - head -n1 /tmp/$TIME.body + grep -m1 . /tmp/$TIME.body else awk -vRS="" '//{gsub(/.*<title>|\n+/,"");print;exit}' IGNORECASE=1 /tmp/$TIME.body | sed ':a;N;$!ba;s/\n//g' \ | sed -e 's/^[ \t]*//' | php -r 'while(($line=fgets(STDIN)) !== FALSE) echo html_entity_decode($line, ENT_QUOTES|ENT_HTML401);' -- cgit v1.2.3