use*_*309 3 sed text-processing
我的输入如下 -
[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
Run Code Online (Sandbox Code Playgroud)
我想要输入 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
Run Code Online (Sandbox Code Playgroud)
但我总是得到 1。
有人可以检查并让我知道这里出了什么问题吗?
将echo只生成一行并且wc计算该行。
请注意,结束时间戳不存在13:41:43,并且使用的锚点(^和$)过于严格。
删除echo并尝试这个:
sed -n '/13:40:43/,/13:41:49/p' somelogfile.log | wc -l
Run Code Online (Sandbox Code Playgroud)