This should be pretty simple, but I am not figuring it out. I have a large code base more than 4GB under Linux. A few header files and xml files are generated during build (usin
You could use the find
command:
find . -mtime 0 -type f
prints a list of all files (-type f
) in and below the current directory (.
) that were modified in the last 24 hours (-mtime 0
, 1 would be 48h, 2 would be 72h, ...). Try
grep "pattern" $(find . -mtime 0 -type f)
Use this. Because if find
doesn't return a file, then grep
will keep waiting for an input halting the script.
find . -mtime 0 -type f | xargs grep "pattern"
To find 'pattern'
in all files newer than some_file
in the current directory and its sub-directories recursively:
find -newer some_file -type f -exec grep 'pattern' {} +
You could specify the timestamp directly in date -d
format and use other find
tests e.g., -name
, -mmin
.
The file list could also be generate by your build system if find
is too slow.
More specific tools such as ack, etags
, GCCSense might be used instead of grep
.