从此字符串中的输出中获取 grep 值的最简单方法



>我正在 bash shell 中执行一个命令,该命令输出以下示例结果:

{
    "outcome" => "success",
    "result" => 1303L
}

使用 bash/awk 或其他方式收集"结果"(在我的例子中为 1303)值的最简单方法是什么?
谢谢!

你可以

像下面这样使用 grep,

grep -oP '"result"s*=>s*KS+' file

仅获取 result 的值中的数字

grep -oP '"result"s*=>s*Kd+' file

要将输出保存到变量,

$ var=$(grep -oP '"result"s*=>s*Kd+' file)
$ echo "$var"
1303

这应该可以:

awk '/result/{print +$3}' file
1303

或变量:

var=$(awk '/result/{print +$3}')

使用 awk,如下所示:

var=$(awk -F'=> ' '/result/ {print +$2}' myfile)

将导致 1303

最新更新