2 つの列を持つ csv ログ ファイルがあり、それぞれに要求 (1 列目) と応答 (2 列目) のタイム スタンプがあります。
サンプルデータは次のとおりです。
2013-07-11 08:39:08.748,2013-07-11 08:39:08.748
2013-07-11 08:39:08.826,2013-07-11 08:39:08.826
2013-07-11 08:39:08.860,2013-07-11 08:39:08.860
2013-07-11 08:39:08.919,2013-07-11 08:39:08.919
2013-07-11 08:39:08.941,2013-07-11 08:39:08.941
2013-07-11 08:39:09.390,2013-07-11 08:39:09.390
2013-07-11 08:39:09.594,2013-07-11 08:39:09.594
2013-07-11 08:39:09.619,2013-07-11 08:39:09.619
2013-07-11 08:39:09.787,2013-07-11 08:39:09.787
2013-07-11 08:39:10.006,2013-07-11 08:39:10.006
2013-07-11 08:39:10.017,2013-07-11 08:39:10.017
2013-07-11 08:39:10.088,2013-07-11 08:39:10.088
2013-07-11 08:39:10.214,2013-07-11 08:39:10.214
完全なファイルの 2 つの列 (応答 - 要求) の差の平均を計算したいと考えています。このファイルには、1 日に何百万ものエントリが含まれる可能性があります。
シェルスクリプトでそれを行う方法を探しています。助けてください。
ありがとう Fedorqui、私はあなたのスクリプトを試しました:
while read line;
do
d1=$(echo $line | cut -d, -f1);
d2=$(echo $line | cut -d, -f2);
ds1=$(date -d"$d1" "+%s");
ds2=$(date -d"$d2" "+%s");
echo "$ds2 - $ds1 = $(( $ds1 - $ds2))";
done < requestResponse.csv
それは私に次の結果を与えています:
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543260 - 1373543260 = 0
1373543261 - 1373543261 = 0
1373543262 - 1373543262 = 0
1373543262 - 1373543262 = 0
ミリ秒単位の差が必要です。