LINUX.ORG.RU

Помогите написать простой скрипт


0

0

Господа, помогите пожалуйста чайнику в Linux'е! Нужно написать простой скрипт и сдать в универе.

Задание следующее: "Сценарий анализирует гипертекстовый документ, поступающий на стандартный вывод, и выдает количество ссылок в документе (<a href=...>)". Пример: $ cat example.html <html><body> <a href="link">link</a><b></b><a href="link2">link2</a> <br> <a href="link3">link3</a> </body></html>"

Пробовал с помощью команды grep с ключом, но она выдает лишь количество строк, содержащих совпадения.

Помогите, плиз!

anonymous

>Пробовал с помощью команды grep с ключом, но она выдает лишь количество строк, содержащих совпадения.

ну, а в чем проблема?

polachok
()
Ответ на: комментарий от polachok

Дак если в одной строке несколько совпадений, то они будут считаться за одно.

anonymous
()
Ответ на: комментарий от vilfred

>как мало надо человеку для счастья...

ага, пока он не задумается например что <a onclick=".." href="... или <a id="i1" href=".." - тоже ссылка :)

roller ★★★
()

(X)HTML — это не строчно-ориентированный (говно)формат.
Чтобы быть уверенным, нужно использовать выражения XPath:

     $ echo 'setns xhtml=http://www.w3.org/1999/xhtml
     xpath //xhtml:a' | xmllint --shell my.xhtml | grep 'ELEMENT a' -c
     
     14

Или, если нужны только элементы `a` с аттрибутом href:

     $ echo 'setns xhtml=http://www.w3.org/1999/xhtml
     xpath //xhtml:a[@href]' | xmllint --shell my.xhtml | grep 'ELEMENT a' -c
     
     12

(setns поправить по вкусу)

Если на вход поступает не (X)HTML, а типичная современная
блевотина из тегов, которая называется «гипертекстовым документом»,
то не заработает (и нужно поюзать `tidy(1)`).

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

да ему в универе лабу сдать нужно в рамках какого-нибудь курса "тыща и одна ОС в семестр", а вы тут такие страшные вещи рассказываете (:

polachok
()
Ответ на: комментарий от polachok

>да ему в универе лабу сдать нужно в рамках какого-нибудь курса "тыща и одна ОС в семестр", а вы тут такие страшные вещи рассказываете (:

Чувак прям в точку, про меня и мой былоинстутут. :( Я аж прослезился...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.