如何从日期范围中提取行

时间:2019-05-05 18:27:50

标签: bash

我有从ftp服务器下载的文件“ test.txt”:

-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190430_032742_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190430_032742_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190501_032742_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190502_032802_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190503_032822_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190504_032842_3s+0s_ITTV60.md5
-rw-r--r-- 1 0 0 30107373 Mar 07 06:54 TEST_20190505_032842_3s+0s_ITTV60.md5

我只想提取包含[今天-X天前]范围日期的行。
例如,如果今天是20190501如果我使用此功能:

yesterday="`date +%Y%m%d --date="-3 day"`"
awk 'NF>1{print $NF}' test.txt | grep $yesterday | grep md5

我只看到一行包含文件20190502 :-(但我想查看它们包含的所有行20190502,20190503,20190504。
有谁可以帮助我吗?
谢谢

0 个答案:

没有答案