Bash grep 变量作为表达式

Bash grep variable as an expression

我对 bash 有疑问。我的日志文件很大,我必须只检查所有日志的一部分。为此,我使用了这些表达式:

cat 29.log | grep -A 999 "15/02/06-22:30"

awk '>="15/02/06-22:30" {print[=12=]}' 29.log

我想在 "date +%y/%m/d-%H:M" 处更改 "15/02/06-22:30" 但是当我使用命令时

awk '>="date +%y/%m/d-%H:M" {print[=13=]}' 29.log

awk '>='date +%y/%m/d-%H:M' {print[=14=]}' 29.log

没有任何反应。 有任何想法吗? 我需要一个命令而不是脚本

 grep -A 999 `date '+%y/%m/d-%H:M'` 29.log

您可以使用 -v 标志将 shell 变量传递给 AWK:

awk -v d="$(date '+%y/%m/%d-%H:%M')" '>=d' 29.log