我使用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 "[^/]*:.*"
将删除路径部分。