将模式从变量传递给grep命令

时间:2015-12-16 13:26:44

标签: bash unix grep

嗨,我需要帮助才能知道如何通过vairble 2015-12-16 08:16:to grep command

bash-3.2$ Heartbeat=$(date +%Y-%m-%d$'\t'%H:%M:)                            
bash-3.2$ echo $Heartbeat
2015-12-16 08:16:

bash-3.2$ grep $Heartbeat file.txt无效,但是 grep '2015-12-16 08:16:' file.txt正常工作。

请帮助我如何为变量做这件事。

1 个答案:

答案 0 :(得分:3)

grep -- "$Heartbeat" file

单引号阻止变量扩展,双引号允许变量扩展并将空格分隔值保持为一个参数。

在您的情况下,我们还需要添加--(参数结尾),因为您的$Heartbeat值包含-个字符,可能会被解释为grep个选项。

IHTH