shell – 删除文件 – 特定日期
如何删除在特定日期创建的文件?
ls -ltr | grep“11月22日”| rm – 为什么这不是wrking? 解决方法
您的代码有三个问题:
> rm在其命令行中获取其参数,但您没有在命令行上传递任何文件名.您正在传递标准输入数据,但rm没有读取该数据1.有办法解决这个问题. find命令允许您根据条件搜索文件,例如其名称与特定模式匹配或其日期在特定范围内.例如,以下命令将列出当前目录及其今天已修改的子目录中的文件(按GMT日历日期).用rm替换echo – 一旦你检查了你有正确的文件. find . -type f -mtime -2 -exec echo {} + 使用GNU find,例如在Linux和Cygwin上找到的,有一些选项可以做得更好: > -maxdepth 1(必须在其他条件之前指定)将搜索限制在指定的目录中(即它不会递归). 从而: find . -maxdepth 1 -type f -newermt "Nov 22" !! -newermt "Nov 23" -exec echo {} + 或者,进一步缩写: find -maxdepth 1 -type f -newermt "Nov 22" !! -newermt "Nov 23" -delete 使用zsh,m glob qualifier将模式限制为在某个相对日期范围内修改的文件.例如,*(m1)扩展为过去24小时内修改的文件; *(m-3)扩展到过去48小时内修改的文件(首先将天数四舍五入为整数,然后 – 表示严格的不等式); *(mm-6)扩展为最近5分钟内修改的文件,依此类推. 1rm-i(以及只读文件的普通rm)在删除之前使用它来读取确认符y. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |