在文件中搜索文本列表?

在文件中搜索文本列表?

我正在寻找一个用于搜索文件中的文本字符串列表的搜索引擎。我不会使用只查找一行的程序,因为我需要搜索多个文本字符串,并且该程序会在扩展名为 .txt 的所有文件中执行搜索。

搜索的文本字符串列表仅供程序在每个文件中逐个搜索。搜索完成后,程序应显示与列表中指定的一个或多个文本字符串匹配的文件。

答案1

您可以grep在命令行中使用:

grep -Fl -f list *.txt

list是一个包含您要查找的字符串列表的文件,它将.txt在您运行该命令的所有文件中查找它们。

或者递归搜索:

grep -Frl --include='*.txt' -f list .

-f 从文件中获取模式,每行一个。


这里有一个例子,我有三个文件:“1.txt”,“2.txt”和“3.txt”。

1.txt:

a
b
c

2.txt:

a
b
c
d

3.txt:

e
f
g

列表文件包含:

a
d

运行后grep -Fl -f list *.txt得到的是:

1.txt
2.txt

-l仅显示文件名。 -f定义一个包含字符串列表的文件 -F将 PATTERN 解释为固定字符串列表(而不是正则表达式)

相关内容