删除在特定时间戳之间创建的文件。

发布于 2024-08-27 05:28:26 字数 67 浏览 7 评论 0原文

昨晚,我的脚本有点疯狂,在凌晨 3:00 到 3:09 之间创建了一堆目录。有没有一种快速的衬垫可以帮我找到并移除它们?

Last night I had a script go a bit crazy and create a bunch of directories between 3:00 and 3:09am. Is there a quick one liner that will hunt these down and remove them for me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱人如己 2024-09-03 05:28:26

如果您可以搜索要删除的第一个和最后一个(按时间顺序排列)目录,那么您可以使用 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

If you can search for the first and last (chronological) directories you want to delete, then you can use find:

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

And if the output suits you, go for the delete

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

or with explicit date stamps:

find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d
∞梦里开花 2024-09-03 05:28:26

如果您仅在一个目录中工作并且 ls -ltrog 输出的第 5 个字段是时间,则可以尝试此操作。

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

you can try this, if you are working in just one directory and the 5th field of the ls -ltrog output is the time.

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

只需使用查找

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

simply use find

find . -type d -newermt "2010-03-31 0300" -and \( -not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文