Linuxでgrepを使用して特定の一致した(サブ)値を返す
UbuntuでZabbixエージェント(ロギングソフトウェア)を実行していますが、内部IPIP / GREトンネルにpingを実行して、接続の品質を常に測定したいと考えています。 現在、Zabbixエージェントでは、デフォルトでは内部トンネルに対してpingコマンドを実行できませんが、幸いなことに「ユーザーパラメーター」を作成できます。基本的には、単一のUNIXシェルコマンドを実行してデータをソフトウェアにフィードできます。 そのためには、zabbixの単一の値を取得するfping / pingコマンドを実行する必要があります。この値は、10進数の秒数または待機時間のミリ秒数、または1秒以上何も接続しない場合は0にする必要があります。以下では、トンネルIPに対して5つのpingを実行してから平均値を返すコマンドを既に作成しました。 (以下のIPアドレスはデータ例です)これは私がこれまでに得たものです: fping -e -q -p 1000 -c 5 8.8.4.4 2> /dev/null | grep -oP '[0-9\.]+/([0-9\.]+)/[0-9\.]+$' 完全な戻り文字列は次のようになります。 8.8.4.4 : xmt/rcv/%loss = 5/5/0%, min/avg/max = 2.78/2.94/3.19" grepの結果は次のとおりです。 2.78/2.94/3.19 私は一貫して2番目の値(上記2.94)を取得したいのですが、私の質問は、単一のコマンドでこれを行う最も効果的な方法は何ですか?