Bash

從 bash 腳本的命令輸出中獲取兩個值

  • October 17, 2020

我有一個 bashscript,它執行一個命令併計算一對值,其輸出可能如下所示。

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

並且在無效參數或錯誤的情況下,程序可以顯示不同的錯誤消息。

有沒有一種安全的方法來解析兩個伏特值並將它們儲存在 bash 腳本中的兩個變數中?

取決於輸出的可靠性以及當您收到“不同的錯誤消息”時會發生什麼,即必須如何處理。

一種基本方法,根據您上面的內容,您可以使用awk

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

“安全方式”將取決於這些錯誤消息對輸出的作用……

更穩健的方法是使用awk’s 的內置NF變數來計算相關欄位:

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

引用自:https://unix.stackexchange.com/questions/166776