Vamsi Krishna B Vamsi Krishna B - 2 months ago 33
Bash Question

Extract Title of a html file using grep

cat 1.html | grep "<title>" > title.txt


This grep statement is not working.

Please tell the best way to grab the title of a page using grep or sed.

Thanks.

Answer

you can use awk. This works even for multiline

$ cat file

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

    <title>Extract Title of a html file

using grep - Stack Overflow</title>
    <link rel="stylesheet" type="text/css" href="http://sstatic.net/stackoverflow/all.css?v=9ea1a272f146">

$ awk -vRS="</title>" '/<title>/{gsub(/.*<title>|\n+/,"");print;exit}' file
Extract Title of a html file using grep - Stack Overflow