是否有一个很好的解决方案来执行类似于
的搜索find . -name "*.*" | xargs grep "some text"
但由于离线索引,搜索速度更快。支持通配符或轻型正则表达式会很不错,但即使是原始文本搜索也可能会因离线预处理而运行得非常快。
答案 0 :(得分:2)
我认为这是一个伟大而快速的选择
grep -rl "string" /path
答案 1 :(得分:1)
这可能对您的目的而言过于苛刻,但Beagle允许您对本地文件执行非常快速的搜索。它通常作为桌面应用程序销售,但实际上它只是一个守护程序,可以使用beagle-query响应来自命令行的请求。
答案 2 :(得分:0)
Recoll为本地文件提供了一个不错的索引机制,但它附带了一个GUI。
答案 3 :(得分:0)
grep -Ri --include =" * .xml" TEXT /目录/
答案 4 :(得分:-3)
的Python
from __future__ import print_function
import glob
for name in glob.glob('*.*'):
with open(name,'r') as aFile:
for n, text in enumerate(aFile):
if 'some text' in text:
print( name, n, text )
re
模块中有一个非常完整的正则表达式库。
您可以创建shelve
数据库或其他一些索引结构,而不是打印结果。