如何在unix中根据年份删除所有文件?

如何在unix中根据年份删除所有文件?

我需要删除目录中 2018 年创建的所有文件。我可以使用什么命令来做到这一点?

答案1

使用find -newermt选项:

find /path/to/directory -type f -newermt 2018-01-01 ! -newermt 2019-01-01 -print

或者少思考一下:

y=2018
find /path/to/directory -type f -newermt $y-01-01 ! -newermt $((y+1))-01-01 -print

如果您对结果满意,请更改-print为。-delete

答案2

像这样的脚本:

DIR="$1"
for f in "$DIR"/*
do
    FileDate=$(stat -c %y "$f")
    if [[ "${FileDate:0:4}" = "2018" ]] ; then
        rm "$f"
    fi
done

调用脚本并传递目录名,例如kill2018 /home/me/Documents

相关内容