我正在尝试编写一个shell脚本来从下面的示例日志中获取某些数据..
以下是日志示例:
2014-07-08 16:08:25,684: |ABC_130|1|10123ffffff2|P|489440201
2014-07-08 17:08:25,684: |ABC_130|1|aaaaaxxxxaab|P|489440201
2014-07-08 19:08:25,684: |ABC_130|1|aaaaababbaab|P|489440201
下面是我遇到问题的脚本的一部分,我面临的问题是awk命令没有给出任何输出。
#!/bin/sh
DATE_HOUR="`date -d '1 hour ago' "+%Y-%m-%d %H"`"
awk -F ":" '{if ($1='"$DATE_HOUR"') print $0}' log.txt
答案 0 :(得分:3)
不要在awk中使用类似的shell变量。使用-v name=val
:
awk -F ":" -v dt="$DATE_HOUR" '$1==dt' log.txt
btw我将你的awk命令减少到'$1==dt'
,因为print $0
是默认操作,并且条件可以移出大括号。