从grep -r输出中删除目录路径

问题描述

我正在运行grep -r在多个文件中查找单词的上下文。

我正在使用-r递归地执行此操作,-i忽略大小写,-C来获取上下行:

grep -r -i -C 10 --group-separator="==========" "29/04/2020" "$dir" >> output.txt

但是,在输出中,我得到了比赛前的文件名,例如:

../data/filename1.txt-       (other text)
../data/filename1.txt-        29/04/2020 is the date for etc
../data/filename1.txt-       (other text)                                                                                      
==========
../data/different_filename.txt-       (other text)
../data/different_filename.txt-        something in 29/04/2020
../data/different_filename.txt-       (other text) 

我只想作为输出

(other text)
29/04/2020 is the date for etc
(other text)                                                                                      
==========
(other text)
something in 29/04/2020
(other text) 

您知道如何更改grep -r命令以排除文件路径吗?

解决方法

使用man grep中所述的grep -h

-h
--no-filename
在输出中禁止文件名的前缀。当只有一个文件(或只有标准输入)时,这是默认设置 搜索。

另请参见:
Get grep to not output file name