1
后,我有一个这样的字符串:只打印的内容有一定的模式匹配
query:schema:query_result{cell=ab}: <timestamp>
我想只打印AB,并将其分配给一个变量。我怎样才能用grep/sed来做到这一点?
后,我有一个这样的字符串:只打印的内容有一定的模式匹配
query:schema:query_result{cell=ab}: <timestamp>
我想只打印AB,并将其分配给一个变量。我怎样才能用grep/sed来做到这一点?
你可以试试他,
$ var=$(grep -oP '=\K\w+' <<< "$str")
或
$ sed 's/.*=\(\w\+\).*/\1/' <<<"$var"
ab
您还可以使用AWK:
s='query:schema:query_result{cell=ab}: <timestamp>'
awk -F '[=}]' '{print $2}' <<< "$s"
ab
将其分配给一个变量:
var="$(awk -F '[=}]' '{print $2}' <<< "$s")"
这对于这个例子来说非常合适,谢谢。 – Narabhut
如果{}内有更多内容,例如{country = us,city = chicago,cell = ab},我将如何修改它 – Narabhut
我的第一个示例适用于这种情况。 –