小编use*_*309的帖子

我需要两个匹配模式之间的行数

我的输入如下 -

[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。

有人可以检查并让我知道这里出了什么问题吗?

sed text-processing

3
推荐指数
1
解决办法
7146
查看次数

检查进程并在运行时终止

我试图找出一个进程是否正在运行,如果它正在运行,那么我想调用一个脚本或打印一些东西。我尝试了以下几种方法,但它给了我语法错误或找不到命令错误。

APP_ID = ps -eaf | grep -i `whoami` | grep -i <process_name> | grep -i java | awk '{print$2}'

if[''!= '${APP_ID}'] then
    echo "Stopping instance $APP_ID"
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下:

test.sh: line 15: APP_ID: command not found
test.sh: line 17: if[!= ${APP_ID}]: command not found
Stopping instance 
Run Code Online (Sandbox Code Playgroud)

上面的脚本有什么问题?如果它有一些错误,那么为什么它会echoif条件中打印?

下面的脚本也没有说 test.sh: line 3: [ps: command not found

if [ps -eaf | grep -i `whoami` | grep -i <process_name> | grep -i java]; then
    echo 'stop'
fi
Run Code Online (Sandbox Code Playgroud)

shell process ps

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

process ×1

ps ×1

sed ×1

shell ×1

text-processing ×1