在特定模式匹配后仅打印内容

时间:2015-07-21 18:19:18

标签: bash sed grep

我有一个这样的字符串:

query:schema:query_result{cell=ab}: <timestamp>

我想打印ab并将其分配给变量。我怎么能用grep / sed做到这一点?

2 个答案:

答案 0 :(得分:1)

你可以尝试一下,

$ var=$(grep -oP '=\K\w+' <<< "$str")

$ sed 's/.*=\(\w\+\).*/\1/' <<<"$var"
ab

答案 1 :(得分:0)

您也可以使用awk:

s='query:schema:query_result{cell=ab}: <timestamp>'
awk -F '[=}]' '{print $2}' <<< "$s"
ab

将其分配给变量:

var="$(awk -F '[=}]' '{print $2}' <<< "$s")"