![grep 将文本文件中的日期设置为小于 30 天并移至新文件](https://linux22.com/image/144741/grep%20%E5%B0%86%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%97%A5%E6%9C%9F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%B0%8F%E4%BA%8E%2030%20%E5%A4%A9%E5%B9%B6%E7%A7%BB%E8%87%B3%E6%96%B0%E6%96%87%E4%BB%B6%20.png)
该脚本应查找文件中日期早于当前日期 30 天的文本,然后移动到另一个文件,例如 $ awk '$NF <= "2018-05-01"' ip.txt 但需要命令自动获取比系统当前日期早 30 天的文本,无需每天手动更改脚本
答案1
命令:
for i in {1..30}; do date +%Y-%m-%d -d "$i day ago"; done >outputfile
输出:
cat outputfile
2018-12-17
2018-12-16
2018-12-15
2018-12-14
2018-12-13
2018-12-12
2018-12-11
2018-12-10
2018-12-09
2018-12-08
2018-12-07
2018-12-06
2018-12-05
2018-12-04
2018-12-03
2018-12-02
2018-12-01
2018-11-30
2018-11-29
2018-11-28
2018-11-27
2018-11-26
2018-11-25
2018-11-24
2018-11-23
2018-11-22
2018-11-21
2018-11-20
2018-11-19
2018-11-18