我需要搜索的日誌文件與2014年4月1日16日期時間戳格式:45:22.084使用AWK日期時間戳搜索日誌文件生成語法錯誤
我從管道到grep的awk的,因爲日誌文件有時間戳的標題行,然後是詳細信息,我只需要檢查標題行。
當我使用字符串運行awk時,它可以工作。
grep "2014-04-01" log |awk -F"\t" '{if ($1>"2014-04-01 14:02:41.213") print $1,$5;}'
2014年4月1日16:45:22.084 Generic_Remote_Exception
當我嘗試使用日期變量,我得到一個語法錯誤。
grep "2014-04-01" log |awk -F"\t" -vDate= "`date -d 'now-5 minutes' +%Y-%m-%d" "%H:%M:%S.%N`" '{if ($1>Date) print $1,$5;}'
AWK:2014年4月8日09:30:31.061837000 AWK:^語法錯誤
爲什麼AWK生成錯誤?
'Date ='後面有一個空格,將其刪除。如果您發佈了更多的日誌日期,我相信我們可以幫助您將所有內容全部放在一個'awk'中,並擺脫'grep'' – Jotne
使用'$(...)'而不是'\'... \ '。反引號[不推薦](http://wiki.bash-hackers.org/scripting/obsolete)語法,但是,它們的使用不會導致錯誤。 –