Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [bash]Регулярные выражения  (Прочитано 1295 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Fant_nk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
[bash]Регулярные выражения
« : 07 Июнь 2010, 11:41:28 »
Задача: в документе (html) необходимо найти определенные гиперссылки и сохранить в отдельный файл.
Формат ссылки: http://example.com/download/anything.ext
Прочитал man sed, понял, что он только заменяет регулярные выражения. Гугл особых ответов мне не дал.
Что-нибудь можете посоветовать?

Сейчас копаю в сторону egrep:
egrep -o 'mp3' file.htm
>mp3
>mp3
...
« Последнее редактирование: 07 Июнь 2010, 12:04:25 от Fant_nk »

Оффлайн sergeyvl12

  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
Re: [bash]Регулярные выражения
« Ответ #1 : 07 Июнь 2010, 12:05:23 »
awk -  простенький, но давольно мощный язык, perl наконец. Кстати может и обычный grep подойти:

cat input_file.html | grep --only-matching "regexp" > output_file

где-то так. Только регулярное выражение составь (man grep).

Если ссылки надо не просто сохранять в отдельный файл, а еще какие-то операции над ними проделывать, то лучше сразу перл.

Оффлайн Fant_nk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Re: [bash]Регулярные выражения
« Ответ #2 : 07 Июнь 2010, 12:07:31 »
Надо выкачивать потом. Я бы сохранил все в файл, а потом из файла wget'ом брал бы...

Все, получилось! Все файлы для скачивания находятся в одном каталоге на сайте.
grep -o 'http://example.com/download.*ext' page.htmИли выводим в файл (sergeyvl12):
cat input_file.html | grep --only-matching "http://example.com/download.*ext" > output_file
« Последнее редактирование: 07 Июнь 2010, 12:14:42 от Fant_nk »

 

Страница сгенерирована за 0.063 секунд. Запросов: 23.