找出某个单词包含在哪个文件中的最简单方法是什么?

找出某个单词包含在哪个文件中的最简单方法是什么?

我有一个.conf 文件的数量在下面的 ”管理员《目录及疑点文字》tanguay.info“就在其中一个地方。

我执行这个命令:

cat /etc/httpd/conf/lxadmin/* | grep "tanguay.info"

它告诉我:

cat: /etc/httpd/conf/lxadmin/forward: Is a directory
Include /home/httpd/tanguay.info/conf/lxadmin.tanguay.info

所以我知道它在那里某处但它没有告诉我在哪个文件中

我怎样才能让它告诉我文本位于哪个文件中?

答案1

grep "tanguay.info" /etc/httpd/conf/lxadmin/*,只要该文件不在子目录中。

答案2

如果有子目录,你可以使用

rgrep "tanguay.info" /etc/httpd/conf/lxadmin/

或者

grep -r "tanguay.info" /etc/httpd/conf/lxadmin/

编辑:

您还可以使用确认,一个用 perl 编写的增强型 grep(独立版本上不需要 deps)。ack 默认通过目录递归搜索。

ack "tanguay.info" /etc/httpd/conf/lxadmin/

在 Ubuntu 上,您可以在 ack-grep 包中找到它。

答案3

您正在寻找的是显示匹配文件名和匹配-H的选项。您还可以添加以递归方式搜索目录。即grep-r

$ grep -r -H "tanguay.info" /etc/httpd/conf/lxadmin/

答案4

# cd /directory/of/files/
# grep -A 5 -B 5 'keywords' *

显示前 5 行和后 3 行,以便您可以看到关键字的上下文

对于理解关键字在文件中的使用方式有很大帮助

相关内容