我有一个包含大量文件的文件夹,我想提取在某个日期范围内创建的特定文本 XYZ 的文件。
我发现这可以在某个日期范围内搜索文件,但不确定如何将其与特定的文本过滤器结合起来。
find /MY_DIR/ -newermt "2017-12-01" ! -newermt "2021-01-31"
答案1
正确的方法是添加一个-exec
选项。
find /MY_DIR/ -type f -newermt "2017-12-01" ! -newermt "2021-01-31" -exec grep -l XYZ {} +
还添加了-type f
仅查找常规文件而不是目录、套接字等的选项。
答案2
如果您想在这些文件中查找一些文本,请使用grep
以下命令:
grep -i "XYZ" `find /MY_DIR/ -newermt "2017-12-01" ! -newermt "2021-01-31"`
此-i
开关使其不区分大小写。
grep
该行开头的将在文件中查找文本。