我正在bash shell中执行一个命令,它输出以下示例结果:
{
"outcome" => "success",
"result" => 1303L
}
使用bash / awk或其他方法收集“结果”(在我的情况1303中)的值的最简单方法是什么?
谢谢!
答案 0 :(得分:2)
您可以使用下面的grep,
grep -oP '"result"\s*=>\s*\K\S+' file
仅获取result
grep -oP '"result"\s*=>\s*\K\d+' file
将输出保存到变量
$ var=$(grep -oP '"result"\s*=>\s*\K\d+' file)
$ echo "$var"
1303
答案 1 :(得分:1)
这应该做:
awk '/result/{print +$3}' file
1303
或变量:
var=$(awk '/result/{print +$3}')
答案 2 :(得分:0)
使用awk如下:
var=$(awk -F'=> ' '/result/ {print +$2}' myfile)
将导致1303