2011-08-14 88 views
1

我有一個可用的Bash腳本來提取標題標籤。我需要給AWK場分離幫助從HTML提取meta標籤,像這樣:如何在bash/awk腳本中從HTML中提取元標記?

<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 

我想我需要一個正則表達式解決方案。有任何想法嗎?

回答

3

第一次安裝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 
... 
+0

埃裏克,謝謝。我的桌面是Mac OS,我的操作系統加上了框架(在Xcode中選中),但我無法弄清楚如何使用它(執行xml2)。 – chuckfinley

0

只是這樣做:

$ 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 }'