我怎样才能提取HTML meta标签在bash / awk脚本?(How can I extract

2019-10-16 13:13发布

我有一个工作bash脚本提取的标题标签。 我需要给AWK域分隔从HTML提取meta标签,这样的帮助:

<meta name="keywords" content="key1, key2, key3">

我的脚本工作,提取标题,但meta name不起作用。

#!/bin/bash
for LINE in `cat htmls.txt`

do
   echo $LINE
   awk 'BEGIN{IGNORECASE=1;FS="<title>|</title>";RS=EOF} {print $2}' $LINE |
   awk '{ if (NF > 0) printf("%s\n", $0); }'
done

我想我需要一个正则表达式的解决方案。 有任何想法吗?

Answer 1:

第一次安装XML2如

sudo apt-get install xml2

wget -q -O - http://www.latin.fm | xml2 | grep meta | awk -F/ '{print $NF}'


产量

@property=og:title
@content=Latin FM
...


Answer 2:

只是这样做:

$ awk '/meta name/{ gsub(/.*meta name=\042|\042.*/,"");print }' file
keywords

从网站获得,使用wget

wget -O- -q $url | awk '/meta name/{ gsub(/.*meta name=\042|\042.*/,"");print }' 


文章来源: How can I extract meta tags from HTML in a bash/awk script?