6

昨晚我的脚本有点疯狂,在凌晨 3:00 到 3:09 之间创建了一堆目录。是否有一个快速的班轮可以追捕这些并为我移除它们?

4

3 回答 3

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
于 2010-04-01T12:51:32.770 回答
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) }'
于 2010-04-01T12:52:36.457 回答
0

只需使用查找

find . -type d -newermt "2010-03-31 0300" -and \( -not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
于 2010-04-01T12:51:00.760 回答