2015-12-16 50 views
0

您好我需要幫忙就知道我們如何能夠通過vairble 2015年12月16日08:16:到grep命令通過模式到grep命令

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
grep -- "$Heartbeat" file 

單引號防止變量擴展,雙引號允許可變的膨脹和一起保持空間分隔的值作爲一個參數。

在你的情況,我們還需要添加--(論據結束)爲您的$Heartbeat值包含-字符,這可能被解釋爲grep選項。

IHTH

+0

否它不工作心跳= $(日期+%Y-%間 - %d $ '\ T' %H:%M :); grep的 「$心跳」 LOOPEUR2015-12-16。 log; echo $ Heartbeat; 2015-12-16 08:41:; grep'2015-12-16 08:41:'LOOPEUR2015-12-16.log; 2015-12-16 08:41:01,967 INFO in.FD_LOOPE_SSGA - <2220心跳沒有輸出,當我使用「」,但我們得到輸出時,我們通過'2015-12-16 08:41:' – user4786572

+0

檢查我更新的答案。說它不起作用時,請更具體一些。只是沒有輸出,或錯誤信息? – shellter

+0

謝謝你的具體細節。現在閱讀他們。 – shellter