У меня есть wgot большой веб-сайт. Вместо того, чтобы настраивать механизм локального поиска, я использую grep для поиска сайта. Вывод Grep показывает HTML (конечно), но я только хочу видеть текст (и не все теги HTML).
Как я могу выполнить это?
Одно решение, которое я нашел, передает вывод grep по каналу к html2text:
sudo apt-get install html2text
grep "som* interesting" | html2text
Это в основном работает, но этому не удается a) сохранить цветное выделение grep, b) использовать unicode и c) заменить определенные символы. Вот более полная альтернатива, которая не имеет этих недостатков.
grep --color=always "test*" * | html2text -utf8 | sed 's/l&rsquo/\"/'
, Конечно, можно отредактировать поток с помощью sed для изменения других элементов также.
Используйте lynx
команда и установите ее следующим:
sudo apt-get install lynx-cur
$ lynx --dump infile.html | grep 'PATTERN'
HTML Tables
HTML tables start with a table tag.
Table rows start with a tr tag.
Table data start with a td tag.
__________________________________________________________________
1 Column:
100
__________________________________________________________________
1 Row and 3 Columns:
100 200 300
__________________________________________________________________
3 Rows and 3 Columns:
100 200 300
400 500 600
700 800 900
__________________________________________________________________
<час> Используя awk:
awk '{gsub(/<[^>]*>/,"")} /PATTERN/{# what you want to do }' infile