【发布时间】:2020-10-06 00:45:25
【问题描述】:
我有一个包含以下条目的文件:
MySql-DataBase-2020-09-22_183748.zip
MySql-DataBase-2020-09-22_184023.zip
MySql-DataBase-2020-09-23_205331.zip
MySql-DataBase-2020-09-23_205606.zip
MySql-DataBase-2020-09-24_200123.zip
MySql-DataBase-2020-09-24_200358.zip
MySql-DataBase-2020-09-25_115839.zip
MySql-DataBase-2020-09-25_120115.zip
MySql-DataBase-2020-09-26_094608.zip
MySql-DataBase-2020-09-26_094843.zip
MySql-DataBase-2020-09-27_122523.zip
MySql-DataBase-2020-09-27_122758.zip
MySql-DataBase-2020-10-01_230024.zip
MySql-DataBase-2020-10-01_230300.zip
MySql-DataBase-2020-10-02_120944.zip
MySql-DataBase-2020-10-02_121219.zip
MySql-DataBase-2020-10-03_151414.zip
MySql-DataBase-2020-10-03_151649.zip
MySql-DataBase-2020-10-04_211059.zip
MySql-DataBase-2020-10-04_211334.zip
MySql-DataBase-2020-10-05_064049.zip
MySql-DataBase-2020-10-05_064324.zip
我想提取今天和 3 天前之间的文件。
对于今天的日期2020/10/05,3 天前是2020/10/02.
输出必须是:
MySql-DataBase-2020-10-02_120944.zip
MySql-DataBase-2020-10-02_121219.zip
MySql-DataBase-2020-10-03_151414.zip
MySql-DataBase-2020-10-03_151649.zip
MySql-DataBase-2020-10-04_211059.zip
MySql-DataBase-2020-10-04_211334.zip
MySql-DataBase-2020-10-05_064049.zip
我尝试使用此命令获取 3 天的回溯日期
date --date='-3 day' '+%Y/%m/%d'
然后使用这些命令获取日期范围之间的输出
sed -n '/3day=date --date='-3 day' '+%Y/%m/%d'/,/date/p' s.txt
我收到此错误:
sed: -e expression #1, char 20: unterminated address regex
请帮我解决这个问题。我将在 bash 脚本中使用它。
【问题讨论】:
-
你能解释一下为什么输出应该在 2020-10-05_064049 而不是 2020-10-05_064324 结束,因为最后一行也是今天的日期?