我正在尝试从HTML页面中提取页面标题
cat index.html | grep -i "title>"| sed 's/<title>/ /i'| sed 's/<\/title>/ /i'
当一些页面写在一行时会出现问题! (相信我会发生这种情况)
我该如何解决?
谢谢!
答案 0 :(得分:1)
sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q'
Google的第一个结果:unix extract page title
。
答案 1 :(得分:0)
这个awk one liner也适用于跨越1行以上的标题。
$ cat file
<html>
<title>How to extract a page
title - Stack Overflow</title>
<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=4864b39b46cf">
<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico">
<link rel="apple-touch-icon" href="http://sstatic.net/so/apple-touch-icon.png">
</html>
$ awk 'BEGIN{RS="</title>"}/title/{gsub(".*<title>","");print}' file
How to extract a page
title - Stack Overflow