You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于文件时间戳筛选目录内文件执行grep内容检索

针对近期修改文件执行grep检索的实现方法

通用兼容方案(支持所有bash/sh环境)

推荐使用find配合grep实现需求,兼容性最高,同时支持处理含特殊字符的文件名:

find ./ -type f -mtime -2 -print0 | xargs -0 grep '0xdataH2O'

参数说明

  • -type f:仅检索普通文件,自动跳过目录、符号链接等非文件对象
  • -mtime -2:筛选修改时间距当前小于48小时的文件,数字可按需调整,如需检索最近24小时内修改的文件,替换为-mtime -1即可
  • -print0 + xargs -0:使用空字符作为文件名分隔符,避免文件名包含空格、换行等特殊字符时命令执行异常
  • 如需同时输出匹配内容的所属文件名与行号,可给grep添加-Hn参数:
    find ./ -type f -mtime -2 -print0 | xargs -0 grep -Hn '0xdataH2O'
    

如果需要按分钟粒度筛选修改时间,可将-mtime替换为-mmin,例如筛选最近120分钟内修改的文件:

find ./ -type f -mmin -120 -print0 | xargs -0 grep '0xdataH2O'

zsh环境简化写法

如果使用zsh作为运行shell,可通过glob限定符实现更简洁的写法:

grep '0xdataH2O' ./**/*(m-2)

其中**/*代表递归遍历当前目录下的所有文件,(m-2)为zsh专属的glob限定符,仅匹配最近2天内修改的文件。


内容的提问来源于stack exchange,提问作者David542

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:06:01