我每天将大约 50.000 个文本文件分类到一个文件夹中,例如:
/rootdir/20130831/ (containing 50000 files)
/rootdir/20130907/ (containing 50000 files)
/rootdir/20130908/ (containing 50000 files)
/rootdir/20130909/ (containing 50000 files)
现在我制作了一个将 find 和 grep 结合在一起的搜索脚本。find 命令是根据用户输入动态构建的。因此,如果用户只知道他想要搜索的年份。搜索将在所有 2013 文件夹中完成。
然后用户还输入一些搜索数据。这可以是最多 3 个搜索字符串,导致搜索如下:
find /rootdir/2013*/ -type f | xargs grep -l searchstring1 | xargs grep -l searchstring2 | xargs grep -l searchstring3
这当然会很耗时。我想知道我是否可以减少每次搜索的时间?有没有更省时的方法?
* 编辑 *忘了提到文件名也不能用来缩短 find 命令的结果。