用于查找早于2010年1月1日的文件的Shell脚本

时间:2010-12-07 15:38:32

标签: linux shell

我正在寻找一个脚本,找到所有早于2010年1月1日的文件。以下内容对我不起作用 -

date-of-my-file = $(date -r /my-file +%F)
if [ $date-of-my-file -nt "2010-01-01" ]
then
    echo "Yes"
else
    echo "No"
fi

任何帮助将不胜感激。 P.S:不推荐使用Linux,我的盒子上的触摸命令不起作用。

3 个答案:

答案 0 :(得分:21)

这是一个单行:

find <dir> -not -newermt 2010-01-01

这将查找在指定日期之前修改的所有文件。如果您想使用除修改日期之外的其他内容,请找到并查看 -newerXY 的选项。

答案 1 :(得分:1)

你需要使用shell命令查找更新的选项。

它的工作方式如下:您创建一个时间戳为1.1.2010的文件,然后将所有文件与此时间戳进行比较

touch -t 01010000 /tmp/timestamp<br>
find ~ -newer /tmp/timestamp

答案 2 :(得分:0)

只需使用“find”命令即可。有几个标志允许您按上次修改时间过滤文件,例如-newer,-mmin和-mtime。做一个“男人找到”了解更多细节。