Linux 基于时间戳的grep文件

Linux 基于时间戳的grep文件,linux,ubuntu,grep,Linux,Ubuntu,Grep,这应该很简单,但我不明白。我在Linux下有超过4GB的大型代码库。在构建过程中(使用gnu make)会生成一些头文件和xml文件。如果重要的话,头文件是基于xml文件生成的 我想在头文件中搜索一个关键字,该关键字是在一个时间实例(它是我的开始编译时)之后最后修改的,类似于xml文件,但是单独的grep查询 如果我在所有可能的头文件或xml文件上运行它,这会花费很多时间。只有那些自动生成的。此外,搜索必须是递归的,因为有很多目录和子目录。您可以使用find命令: find . -mtime 0

这应该很简单,但我不明白。我在Linux下有超过4GB的大型代码库。在构建过程中(使用gnu make)会生成一些头文件和xml文件。如果重要的话,头文件是基于xml文件生成的

我想在头文件中搜索一个关键字,该关键字是在一个时间实例(它是我的开始编译时)之后最后修改的,类似于xml文件,但是单独的grep查询


如果我在所有可能的头文件或xml文件上运行它,这会花费很多时间。只有那些自动生成的。此外,搜索必须是递归的,因为有很多目录和子目录。

您可以使用
find
命令:

find . -mtime 0 -type f
打印当前目录(
)中及其下在过去24小时内修改的所有文件(
-mtime 0
,1为48小时,2为72小时,…)的列表。试一试


要递归查找当前目录及其子目录中比
某些文件更新的所有文件中的
'pattern'
,请执行以下操作:

find -newer some_file -type f -exec grep 'pattern' {} +
您可以直接以
date-d
格式指定时间戳,并使用其他
find
测试,例如
-name
-mmin

如果
find
太慢,构建系统也可以生成文件列表


可以使用更具体的工具,例如,
etag
,而不是
grep

使用此工具。因为如果
find
没有返回文件,那么
grep
将一直等待停止脚本的输入

find . -mtime 0 -type f | xargs grep "pattern"

您可能希望包含当前命令的示例。省去了我们指出你已经知道的显而易见的东西的麻烦。谢谢,我发现了一些比回答更有价值的东西。我从未见过GCCSense。我在vim中寻找eclipse代码完成功能。我猜是最近开发的。啊哈!太明显了!
find . -mtime 0 -type f | xargs grep "pattern"