一致する2つのパターン間の行数が必要です。

一致する2つのパターン間の行数が必要です。

私の入力は次のとおりです -

[11/Jul/2016:13:40:43 +0000] "POST --" 200 - 7
[11/Jul/2016:13:40:43 +0000] "POST --" 200 - 7
[11/Jul/2016:13:40:47 +0000] "POST --" 200 - 7
[11/Jul/2016:13:40:47 +0000] "POST --" 500 - 7
[11/Jul/2016:13:41:48 +0000] "POST --" 200 - 7
[11/Jul/2016:13:41:49 +0000] "POST --" 500 - 7
[11/Jul/2016:13:42:12 +0000] "POST --" 500 - 7

13:40から13:41までの行数を入力したいです。この場合、カウントは6です。

私は次のオプションを試しました

echo sed -n '/^START_TIME/,/^END_TIME/ p' somelogfile.log | wc -l

echo sed -n '/^13:40:43$/,/^13:41:43$/ p' somelogfile.log | wc -l

しかし、私はいつも1を取得します。

誰かがこれを確認し、ここで何が間違っているかを教えてもらえますか?

ベストアンサー1

echo1行だけが生成され計算されますwc

終了タイムスタンプが存在せず、13:41:43使用されるアンカー(^および)$が制限されすぎます。

echo以下を削除してみてください。

sed -n '/13:40:43/,/13:41:49/p' somelogfile.log | wc -l

おすすめ記事