关于 Grep 显示文件名和内容的疑问

关于 Grep 显示文件名和内容的疑问

正在使用以下 grep 来匹配中的特定模式grep

grep xyz abc.txt

现在,当我运行此命令时,如果模式匹配,则会得到包含 xyz 的行

输出:

xyz is doing some work

现在,如果我想要文件名以及我的输出,我该怎么做

预期的

abc.txt:xyz is doing some work

我需要这种输出Solaris。 gnu 中有一个 -H 选项grep。 但我需要的是Solaris风味。

答案1

如果你没有-Hswitch,请使用反而 :

awk '/pattern/{print FILENAME":"$0}'

答案2

当您搜索多个文件时,文件名会在每次匹配之前打印:

grep xyz abc.txt /dev/null

相关内容