Извлечение текста между двумя известными строками на веб-странице и сохранение в переменной - PullRequest
1 голос
/ 16 апреля 2019

Веб-страница содержит следующую строку:

var zx_fn = "строка с любым возможным символом";

Я загружаю веб-страницу, затем пытаюсьвзять часть между кавычками и сохранить ее в переменной

мой код:

#!/bin/sh
url="http://www.example.com/..."
content=$(wget -q -O - $url)
var1=$(sed -n '/^var zx_fn = "$/,/^";$/p' "$content")
echo $var1

Не работает, потому что говорит:

sed: canне читайте

И он возвращает все содержимое страницы

И что лучше для этого случая?grep, awk или sed?

Этот вопрос был помечен как дубликат, но другой не устраняет мои сомнения, поскольку мне нужна помощь как с хранилищем переменных, так и с регулярным выражением.

Если я следую этому ответу, код возвращает:

Синтаксическая ошибка: неожиданное перенаправление

1 Ответ

0 голосов
/ 16 апреля 2019
$ foo='var zx_fn = "string with any possible character";'
$ bar=$(sed -n 's/var zx_fn = "\([^"]*\)";$/\1/p' <<< "$foo")
$ echo "$bar"
string with any possible character

«любой возможный символ» выше означает «... кроме двойной кавычки».Если он может содержать двойные кавычки, сообщите нам, как они экранируются в этих строках, чтобы мы могли рассказать вам, как с ними обращаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...