1

我正在运行 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 命令以排除文件路径吗?

4

1 回答 1

2

使用grep -h,如man grep中所述:

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

还请参见:
不要grep输出文件名

于 2020-09-23T16:19:41.953 回答