Получение изображений jpg из файла HTML - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь использовать grep, чтобы получить полные URL-адреса изображений jpg в файле HTML.Одна проблема заключается в том, что в нем не так много символов новой строки, поэтому, когда я использую grep, он получает путь, но также и много других вещей, которые меня не интересуют. Как я могу просто получить URL-адреса для изображений jpg?

1 Ответ

11 голосов
/ 30 января 2012

Одна sed команда

sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' yourfile.html

или использование ERE ( расширенные регулярные выражения ), чтобы избежать обратная косая черта из приведенного выше выражения:

sed -E -n '/<img/s/.*src="([^"]*)".*/\1/p' yourfile.html

Одна базовая grep команда

grep -o '<img[^>]*src="[^"]*"' yourfile.html

Два последовательных базовых grep команды

grep -o '<img[^>]*src="[^"]*"' yourfile.html | grep -o '"[^"]*"'

Одна grep команда с использованием Perl Regex (PER)

grep -Po '<img[^>]*src="\K[^"]*(?=")' yourfile.html

Использование ack в качествеgrep -подобная замена

sudo apt install ack
ack -o '<img[^>]*src="\K[^"]*(?=")' yourfile.html

Загрузка веб-страницы в соответствии с предложением s-hunter

curl -s example.com/a.html | sed -En '/<img/s/.*src="([^"]*)".*/\1/p'
...