创建一个bash程序,只列出去年修改过的文件
我想创建一个bash程序,它只列出去年修改过的文件 提示:ls的创建一个bash程序,只列出去年修改过的文件,bash,Bash,我想创建一个bash程序,它只列出去年修改过的文件 提示:ls的-l输出将非常有用 这是我的课堂练习,但我不知道如何开始。请帮忙。 提前感谢。出于测试目的,您可以使用touch命令创建一个日期为去年的文件: touch oldFile -d "Mar 9 2017" 然后您可以使用grep和date命令,如下所示: ls -l -1 | grep "$(date "+%Y" --date="1 year ago")" 其中date“+%Y”--date=“1年前”将扩展到上一年,即2017。
-l
输出将非常有用
这是我的课堂练习,但我不知道如何开始。请帮忙。
提前感谢。出于测试目的,您可以使用
touch
命令创建一个日期为去年的文件:
touch oldFile -d "Mar 9 2017"
然后您可以使用grep
和date
命令,如下所示:
ls -l -1 | grep "$(date "+%Y" --date="1 year ago")"
其中date“+%Y”--date=“1年前”
将扩展到上一年,即2017
。结果:
-rw-rw-r-- 1 userX userX 0 Mar 9 2017 oldFile
-rw-rw-r--1 userX userX 0 2017年3月9日oldFile根据Cyrus的链接,不解析
ls
输出,我建议使用:
find . -type f -newermt 2017-01-01 ! -newermt 2017-12-31 -ls
不是-l
,而是-ls
或者,为了得到明年同样有效的问题的真正答案:
#!/bin/bash
last_year=$(date +%Y -d "1 year ago")
yearstart=$(date +%Y-%m-%d -d "1 january")
find . -type f -newermt $last_year-01-01 ! -newermt $yearstart -ls
目标是在问题中添加一些自己的代码,以至少显示您自己为解决此问题所做的研究工作。建议您的老师和您自己阅读: