从 bash 脚本中的命令输出获取两个值

从 bash 脚本中的命令输出获取两个值

我有一个 bash 脚本,它执行一个命令并计算一对值,其输出如下所示。

a,b (10.0000000000, 10.0000000000) -> volt (2088133.7088034691, -222653.3238934391)

如果参数无效或出现错误,程序会显示不同的错误消息。

有没有一种安全的方法来解析两个伏特值并将它们存储在 bash 脚本中的两个变量中?

答案1

取决于输出的可靠性以及当您收到“不同的错误消息”时会发生什么,即必须如何处理。

有了上面的基本方法,您可以使用awk

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $11,$13}'      
var1=2088133.7088034691
var2=-222653.3238934391

“安全的方式”取决于什么这些错误消息会对输出产生影响...

更可靠的方法是使用awk的内置NF变量来计算相关字段:

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $(NF-3),$(NF-1)}'

相关内容