Parse HTML using shell Parse HTML using shell bash bash

Parse HTML using shell


awk is not an HTML parser. Use xpath or even xslt for that. xmllint is a commandline tool which is able to execute XPath queries and xsltproc can be used to perform XSL transformations. Both tools belong to the package libxml2-utils.

Also you can use a programming language which is able to parse HTML


awk  -F '[<>]' '/<td / { gsub(/<b>/, ""); sub(/ .*/, "", $3); print $3 } ' file

Output:

54100

Another:

awk  -F '[<>]' '/<td><b>Total<\/b><\/td>/ {    while (getline > 0 && /<td /) {        gsub(/<b>/, ""); sub(/ .*/, "", $3)        print $3    }    exit}' file


$ awk -F'<td[^>]*>(<b>)?|(</?b>)?</td>' '$2~/[0-9]/{print $2+0}' file54100