我正在尝试编写一个 shell 脚本,它根据目录名称而不是上次修改时间删除目录及其内容。
我在 /tmp/
位置有以下目录
2015-05-25
2015-05-26
2015-05-27
2015-05-28
2015-05-29
2015-05-30
2015-05-31
现在我想删除 2015-05-29
之前的所有目录。所有目录的最后修改日期都相同。
谁能推荐一下?
最佳答案
一种直接但不灵活的方式(在 bash 中)是:
rm -rf 2015-05-{25..29}
一种更灵活的方式将涉及一些编码:
ls -d ./2015-* | sort | sed '/2015-06-02/,$d' | xargs rm -r
- 按照名称模式 2015-* 对所有目录进行词法排序
- 使用“sed”删除 2015 年 6 月 2 日(含)之后的所有文件
- 使用'xargs'删除剩余的
关于linux - 使用 shell 或 bash 脚本根据目录名称删除多个目录的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567389/