Grep

如何將日誌文件與日期語法匹配

  • August 2, 2020

我們有這樣的日誌

more log

20/08/02 13:41:39 some text 
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB
20/08/02 13:41:40 some text 
20/08/02 13:41:41 some text 
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2347
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2347
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2347
20/08/02 13:41:42 some text 
20/08/02 13:41:43 some text 
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2347

我只想匹配帶有日期的行

所以我們這樣做

echo "$(date +"%Y/%m/%d")"

它給了我們

2020/08/02

但是當我們嘗試用 grep 記錄日期時,我們沒有得到任何輸出

例子:

grep  "$(date +"%Y/%m/%d")" log

我的 grep 語法有什麼問題

?

預期產出

20/08/02 13:41:39 some text 
20/08/02 13:41:40 some text 
20/08/02 13:41:41 some text 
20/08/02 13:41:42 some text 
20/08/02 13:41:43 some text 

您要查找的行以 開頭20/08/02,而不是2020/08/02。嘗試%y代替%Y,這將給出年份的最後兩位數

引用自:https://unix.stackexchange.com/questions/602500