【调试工具】终端下的文件操作,统计文件数,按照日期筛选文件

统计文件数

在日常开发时,会遇到统计目前下文件的需求。在终端下,可以用以下命令实现。
ls -l | grep "^-" | wc -l

这个命令的工作原理如下:

  • ls -l 会列出当前目录下的所有文件和目录的详细信息。
  • grep "^-" 会从 ls 的输出中过滤出以 - 开头的行,这些通常代表文件。
  • wc -l 会计算通过 grep 过滤后剩下的行数,即当前目录下的文件数。
    如果您想要包括子目录中的文件数,可以使用 -R 选项来递归地列出所有文件:

ls -lR | grep "^-" | wc -l

请注意,这些命令不会计算隐藏文件(以 . 开头的文件)。如果您也想计算隐藏文件,请在 ls 命令中添加 -a 选项。

按照日期筛选文件

在Linux中,ls命令通常用于列出目录内容,但它本身并不支持直接按日期查找文件。如果您想按特定日期查找文件,可以使用find命令结合-newermt选项。以下是一个示例,展示了如何查找在特定日期修改的文件:

find /path/to/directory -type f -newermt '2024-05-11' ! -newermt '2024-05-12'

这个命令会查找在2024年5月11日修改过的所有文件。请注意,您需要将/path/to/directory替换为您想要搜索的目录路径,而日期也应该替换为您想要查找的确切日期。

如果您确实想通过ls命令来辅助查看这些文件的详细信息,可以将find命令的输出通过管道传递给ls,如下所示:

find /path/to/directory -type f -newermt '2024-05-11' ! -newermt '2024-05-12' | xargs ls -l

可以使用find命令结合-exec选项来执行cp命令。以下是一个示例,展示了如何将在特定日期修改的文件复制到指定目录:

find /path/to/directory -type f -newermt '2024-05-11' ! -newermt '2024-05-12' -exec cp {} /path/to/destination \;
  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值