Bashスクリプトのコマンド出力から2つの値を取得します。

Bashスクリプトのコマンド出力から2つの値を取得します。

コマンドを実行して値のペアを計算するbashスクリプトがあり、その結果は次のようになります。

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

パラメーターが無効であるかエラーが発生すると、プログラムは他のエラー・メッセージを表示します。

2つのボルト値を解析してbashスクリプトの2つの変数に保存する安全な方法はありますか?

ベストアンサー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)}'

おすすめ記事