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
我对 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