【发布时间】:2014-07-16 00:01:59
【问题描述】:
我有以下代码,仅在手动替换 sed 命令中的 $NOW 和 $THEN 变量时才有效。如果我回显 sed 命令,所有变量都会正确输出。
我试图仅在最后 60 秒内获取最新日志文件中的行,然后计算与我的搜索字符串匹配的行。
SYSFile="ls -1t /home/SPC/Log"
NewestFile=$($SYSFile | grep SYS | head -1)
NOW="$(date "+%m\/%d %H:%M:%S")"
THEN="$(date --date="60 seconds ago" "+%m\/%d %H:%M:%S")"
sed -n '/$THEN/ , /$NOW/p' $NewestFile | grep "Processing inbound for unit" | wc -l`
下面是来自日志文件的 sn-p,显示了我正在使用的日期格式。
[07/16 08:35:17.998]
[07/16 08:35:17.998]
[07/16 08:35:17.998]
[07/16 08:35:17.998]
[07/16 08:35:17.998]
[07/16 08:35:17.999]
[07/16 08:35:17.999]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
[07/16 08:35:18.176]
【问题讨论】: