【问题标题】:grep all lines for a specific date in log-filesgrep 日志文件中特定日期的所有行
【发布时间】:2012-06-10 14:32:48
【问题描述】:

我需要在 /var/log/messages 中对“昨天”的所有行进行 grep。 当我使用以下 sn-p 时,由于日期格式为“6 月 9 日”,我得到的结果为零。 (此处不显示,但在日志文件中,当月的天数小于 10 时,会用额外的空格填充。

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

当我进入时

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

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

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

我需要更改哪些内容才能评估“日期” 额外的填充?

【问题讨论】:

  • 使用$() 代替反引号以提高可读性,使用other benefits

标签: bash date grep


【解决方案1】:

您应该能够通过在反引号周围加上引号来解决此问题:

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

【讨论】:

  • 警告:日期可以输出本地化月份名称,而系统日志日期始终为英文。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多