在网页中的两个已知字符串之间提取文本并存储在变量中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在网页中的两个已知字符串之间提取文本并存储在变量中相关的知识,希望对你有一定的参考价值。
该网页包含以下行:
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:看不懂
它返回整个页面内容
对于这种情况还有什么好处? grep,awk还是sed?
这个问题已被标记为重复,但另一个问题并未明确我的疑虑,因为我需要帮助变量存储和正则表达式。
如果我遵循该答案,代码将返回:
语法错误:重定向意外
答案
$ 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
上面的“任何可能的字符”被认为是“......除了双引号”。如果它可以包含双引号,那么让我们知道它们是如何在这些字符串中转义的,这样我们就可以告诉你如何处理它们。
以上是关于在网页中的两个已知字符串之间提取文本并存储在变量中的主要内容,如果未能解决你的问题,请参考以下文章
如何在VBScript中的同一字符串的两个索引位置之间存储所有文本?