awkを使用して値を抽出し、計算を実行します。

awkを使用して値を抽出し、計算を実行します。

私の出力は次のとおりです

{tid=4, total=3, column.id=[5.0]}  
{tid=2, total=1, column.id=[5.0]}
{tid=5, total=8, column.id=[5.0]}
{tid=8, total=6, column.id=[5.0]}
elapsed time: 10 milliseconds
current time: Thu Sep 15 16:15:30

この出力セットは、異なる経過時間で複数回繰り返されます。経過時間を表すすべての整数を抽出してから、平均経過時間を見つけたいと思います。私はawkを使って経過時間を得ることができると思いますが、ここで構文が正しいかどうかはわかりません。

答え1

常にミリ秒単位であると仮定すると、これは機能します。

awk '/^elapsed time:/ {T+=$3;C++}; END {print T/C}' test.txt 

/^elapsed time:/目的のパターンに一致する行を探す

{T+=$3;C++};upに3番目の列を追加し、何回T実行したかを計算します。C

END {print T/C}私たちの平均を印刷してみてください。

関連情報