如何grep檔案中小於特定日期的日期

如何grep檔案中小於特定日期的日期

我有一個像 Blah blah blah 2018-12-13 這樣的日誌檔案。現在我想 grep 日期在 2018-05-01 之前的日誌檔案。我的目的是過濾小於2018-05-01的日誌文件

答案1

我們可以使用awk比較運算符

$ cat ip.txt 
Blah blah blah 2018-12-13
Blah blah blah 2018-02-13
Blah blah blah 2018-05-01

$ awk '$NF < "2018-05-01"' ip.txt 
Blah blah blah 2018-02-13


若要取得小於或等於某個日期的行:

$ awk '$NF <= "2018-05-01"' ip.txt 
Blah blah blah 2018-02-13
Blah blah blah 2018-05-01

答案2

使用dategrep來自 dateutils 的,http://www.fresse.org/dateutils/

dategrep '<2018-05-01' <file

相關內容