Как извлечь метатеги из HTML в скрипте bash / awk? - PullRequest
1 голос
/ 14 августа 2011

У меня есть рабочий скрипт 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

Полагаю, мне нужно решение для регулярных выражений.Есть идеи?

Ответы [ 2 ]

3 голосов
/ 14 августа 2011

первая установка 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 голосов
/ 29 августа 2011

Просто сделайте это:

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