无法从shell脚本中获得awk命令的任何输出

我正在尝试编写一个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 

不要在awk中使用这样的shell变量。 使用-v name=val

 awk -F ":" -v dt="$DATE_HOUR" '$1==dt' log.txt 

顺便说一句,我减少了你的awk命令'$1==dt'因为print $0默认的动作 ,如果条件可以移出花括号。