grep日志文件中特定日期的所有行

时间:2012-06-10 14:32:48

标签: bash date grep

我需要在/ var / log / messages中为“昨天”grep所有行。 当我使用以下片段时,由于日期的格式为“Jun 9”,因此我得到的结果为零。 (这里没有显示,但是在日志文件中,当小于10时,月份的日期会被填充额外的空格。)

cat /var/log/messages | grep `date --date="yesterday" +%b\ %e`

当我进入

$ date --date="yesterday" +%b\ %e

在命令行上,它使用填充返回昨天的日期。

但是当我将它与grep和反引号结合使用时,额外的填充会被抑制,这会让我得到零结果。

我需要更改哪些内容,以便使用额外填充来评估“日期”?

1 个答案:

答案 0 :(得分:3)

你应该可以通过在反引号周围添加引号来解决这个问题:

cat /var/log/messages | grep "`date --date="yesterday" +%b\ %e`"