bash – 如何找到大于某个大小的文件,并按上次修改日期对它们进
发布时间:2020-12-16 01:22:34 所属栏目:安全 来源:网络整理
导读:我需要编写脚本来记下所选目录中的每个文件,这些文件大于某个大小.此外,我需要按大小,名称和最后修改日期对它们进行排序. 所以我做了前两个案例: 按大小排序 RESULTS=`find $CATALOG -size +$SIZE | sort -n -r | sed 's_.*/__'` 按名称分类 RESULTS=`find
我需要编写脚本来记下所选目录中的每个文件,这些文件大于某个大小.此外,我需要按大小,名称和最后修改日期对它们进行排序.
所以我做了前两个案例: 按大小排序 RESULTS=`find $CATALOG -size +$SIZE | sort -n -r | sed 's_.*/__'` 按名称分类 RESULTS=`find $CATALOG -size +$SIZE | sed 's_.*/__' | sort -n ` 但我不知道如何按最后修改日期对结果进行排序. 任何帮助,将不胜感激.
如果您没有太多文件,最好的方法之一就是使用ls来进行排序.
按名称排序并每行打印一个文件: find $CATALOG -size +$SIZE -exec ls -1 {} + 按大小排序并每行打印一个文件: find $CATALOG -size +$SIZE -exec ls -S1 {} + 按修改时间排序,每行打印一个文件: find $CATALOG -size +$SIZE -exec ls -t1 {} + 您还可以使用ls开关:使用长列表格式按修改时间(小优先)排序,具有人类可读的大小: find $CATALOG -size +$SIZE -exec ls -hlrt {} + 哦,您可能只想查找文件(并忽略目录): find $CATALOG -size +$SIZE -type f -exec ls -hlrt {} + 最后,一些评论:避免使用bash中的大写变量名(它被认为是不好的做法)并避免回退,使用$(…)代替.例如., results=$(find "$catalog" -size +$size -type f -exec ls -1rt {} +) 此外,您可能不希望将所有结果放在像上一行一样的字符串中.您可能希望将结果放在数组中.在这种情况下,使用这样的mapfile: mapfile -t results < <(find "$catalog" -size +$size -type f -exec ls -1rt {} +) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs源码笔记(1.3)--directive ctrl & attrs
- 验证 – AngularJS:有什么方法来确定哪些字段使表单无效?
- twitter-bootstrap – Twitter Bootstrap下拉列表无法在任何
- 5天学会jaxws-webservice编程第四天
- angularjs – 如何通过ng-model指令拦截值绑定
- bootstrap 静态弹出框 的 参数和 事件
- yum 安装 webmin
- angularjs – 在创建$ionModal时使用“this”作为范围
- twitter-bootstrap – Twitter BootStrap TopBar和DropDown
- shell – 从ZSH历史文件中删除历史记录或行号