grep输出显示具有文件名但不是完整路径的结果



我使用grep(egrp(在日志中搜索文本。我在同一个文件夹中有多个txt文件要搜索。默认情况下,grep输出文件名(完整路径(和数学结果。

目录路径很长,所以看起来很难看。

然而,如果我使用-h选项,它只会给我匹配结果,而不会给我文件名,这也不好,因为有时我需要知道它来自哪个文件。

例如,在文件夹bashsearch中,我有file1、file2、file3…

默认输出如下:

/mnt/c/Users/chili/Desktop/.../bashsearch/file1:match result 1
/mnt/c/Users/chili/Desktop/.../bashsearch/file2:match result 2

这看起来很难看。

如果我使用-h,输出如下:

match result 1
match result 2

这也不好。

我想要的是这样的:

file1:match result 1
file2:match result 2

请问如何做到这一点?非常感谢您的帮助。

您可以使用管道将输出重新格式化为另一个命令。例如

| grep -o "[^/]*:.*"

将删除路径部分。

最新更新