删除在某些时间戳之间创建的文件。

时间:2010-04-01 12:46:19

标签: linux time sorting debian rm

昨晚我有一个脚本有点疯狂,并在凌晨3点到凌晨3点30分之间创建了一堆目录。是否有一个快速的衬垫将它们打猎并将它们移除给我?

3 个答案:

答案 0 :(得分:6)

如果您可以搜索要删除的第一个和最后一个(按时间顺序排列的)目录,则可以使用find:

find . -newer first -not -newer last -type d

如果输出适合您,请转到删除

find . -newer first -not -newer last -type d -print0 |  xargs -0 rmdir

或使用明确的日期戳:

find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d

答案 1 :(得分:1)

你可以试试这个,如果你只在一个目录中工作,那么ls -ltrog输出的第5个字段就是时间。

ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }'

答案 2 :(得分:0)

只需使用查找

即可
find . -type d -newermt "2010-03-31 0300" -and \( -not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;