我如何在其文件内容中找到包含一个特定的文本序列的所有文件?

下一个不起作用. 它似乎显示系统中的每个单一文件。

find / -type f -exec grep -H 'text-to-find-here' {} \;

当前回答

有一个Ack工具,它会做你正在寻找的东西:

ack -i search_string folder_path/*

您可能会忽略 -i 对案例敏感搜索。

其他回答

此外,请参见 The Platinium Searcher,这类似于 The Silver Searcher,并写在 Go。

例子:

pt -e 'text to search'
grep -lrnw '/root/Desktop/ipozal' -e 'geolocation'

例如:

我的文件夹名称是“Ipozal”它放在“/root/Desktop”我想在所有文件中找到此文本“地理位置”

试试这个命令,它会给你包含你输入的模式的文件。

sudo grep -inr "your-pattern" /

在这里:i - 忽略案例区别,以便只有在案例中区别的字符相匹配。

n - 确保实际行内容的第一个字符在一张标签站上,以便标签的调整看起来正常。

r - 阅读每个目录下的所有文件,重复,仅按照符号链接,如果它们在命令线上。

使用 grep -ilR:

grep -Ril "text-to-find-here" /

i 代表忽略案例(可选在您的案例中)。R 代表重复。l 代表“显示文件名,而不是结果本身”。 / 代表在您的机器的根源开始。

使用:

grep -Erni + "text you wanna search"

命令将重复搜索当前目录的所有文件和目录,并打印结果。

注意:如果您的格雷普输出没有颜色,您可以通过在您的壳源文件中使用格雷普=‘格雷普=颜色=总是’的标志来更改它。