我的输入如下 -
[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。
有人可以检查并让我知道这里出了什么问题吗?
我试图找出一个进程是否正在运行,如果它正在运行,那么我想调用一个脚本或打印一些东西。我尝试了以下几种方法,但它给了我语法错误或找不到命令错误。
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)
上面的脚本有什么问题?如果它有一些错误,那么为什么它会echo在if条件中打印?
下面的脚本也没有说 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)