linux - 在不使用双引号的情况下搜索包含当前日期的日志文件

标签 linux bash shell grep

我正在尝试使用 grep 命令通过服务器自动化应用程序在大型日志文件中搜索以当前日期开始的行,并且日志文件中写入的日期格式为“月日”。

限制是我们不能在从该应用程序运行命令时在命令中使用双引号。

我尝试使用以下命令对文件进行 grep,但它不起作用,因为它将日期变量替换为月份和日期之间的空格,并且由于 grep 将月份视为要搜索的词,将日期视为文件。

grep `date +%b\ %d` filename

谁能帮我解决这个问题,让日期变量替换为单引号,例如 Oct 30,这样 grep 就可以将其视为单个单词进行搜索?

请注意,我们不能在整个命令中使用双引号。

最佳答案

试试这个:

grep `date +%b[[:space:]]%d` filename

grep $(date +%b[[:space:]]%d) filename

关于linux - 在不使用双引号的情况下搜索包含当前日期的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33441943/

相关文章:

C - 构建后打开文本文件 - OpenWRT - opkg

linux - 在没有 super 用户的情况下重新启动apache

bash - 内联变量赋值和 Bash 中的常规变量赋值有什么区别?

regex - BASH shell 使用正则表达式从文件中获取值到参数中

linux - 使用 'sed' shell 命令部分替换字符串

linux - Ansible wait_for 重启

linux - 查找服务器上的所有 htaccess 文件

java - 使用 JSch 在 SSH 服务器上搜索文件以获取模式(使用 less 命令)

linux - 在 linux 中为同一程序的两个不同版本设置别名?

vba - WScript.Shell 运行一个脚本,路径中有空格,参数来自 VBA