Bash grep变量作为表达式

时间:2015-02-06 22:23:53

标签: bash variables awk grep expression

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

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

awk '$1>="15/02/06-22:30" {print$0}' 29.log

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

awk '$1>="date +%y/%m/d-%H:M" {print$0}' 29.log

awk '$1>='date +%y/%m/d-%H:M' {print$0}' 29.log
没有任何反应。 有任何想法吗? 我需要一个命令,而不是脚本

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

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