网页包含以下行:
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?
这个问题被标记为重复,但是另一个问题并不能消除我的疑问,因为我需要变量存储和正则表达式方面的帮助。
如果我遵循该答案,代码将返回:
语法错误:重定向意外
答案 0 :(得分:0)
$ 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
假定上面的“任何可能的字符”表示“ ...除双引号外”。如果它可以包含双引号,那么让我们知道它们在这些字符串中是如何转义的,以便我们告诉您如何处理它们。