行から数字を見つけてシェアを取得する

行から数字を見つけてシェアを取得する

Digital_A803x_433Mbpsユーザー:(発行されたライセンスの合計数は2784、使用中のライセンスの合計数は314)

上記のテキスト行の例で利用可能なライセンスの割合を取得しようとしているため、出力は88.27%です。これは、使用中のライセンスと発行されたライセンスの商((314/2784)* 100 - 100)です。

答え1

AWKを使用:

$ echo 'Users of Digital_A803x_433Mbps: (Total of 2784 licenses issued; Total of 314 licenses in use)' |
awk '{ printf "%2.2f%%\n", 100 - $11 / $6 * 100 }'
88.72%

これは、タグ(「Digital_…」)にスペースがないと仮定します。

関連情報