在文件上搜索字符串

Mau*_*dez 2 command-line search

我有一堆字符串,需要在几个文件中找到,例如:

string1
string2
stringn

file1.txt
file2.txt
filen.txt
Run Code Online (Sandbox Code Playgroud)

有没有一种(简单的)方法可以在 bash 中做到这一点?我需要知道,如果找到一个字符串,它在哪个文件中。

小智 7

带 -e 选项的简单 grep 命令:

 grep -e "string1" -e "string2" -e "stringn" file*.txt
Run Code Online (Sandbox Code Playgroud)

或者您可以将所有搜索字符串放在一个名为 search.txt 的文件中,如下所示:

string1
string2
string3
...
...
stringN
Run Code Online (Sandbox Code Playgroud)

然后使用以下-f选项运行 grep :

grep -f search.txt file*.txt
Run Code Online (Sandbox Code Playgroud)