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

twa*_*163 2 bash grep date

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

cat /var/log/messages | grep `date --date="yesterday" +%b\ %e`
Run Code Online (Sandbox Code Playgroud)

当我进入

$ date --date="yesterday" +%b\ %e
Run Code Online (Sandbox Code Playgroud)

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

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

我需要更改什么才能使用额外的填充来评估“日期” ?

Joh*_*nce 5

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

cat /var/log/messages | grep "`date --date="yesterday" +%b\ %e`"
Run Code Online (Sandbox Code Playgroud)