打印目录中文件中找到的单词的行

打印目录中文件中找到的单词的行

你好我正在使用这条线路

find ./ -iname *txt | xargs grep "ququ" -sl>holis.txt

在 txt 文件中查找“ququ”文本,然后将包含该单词的文件名写入 txt 文件 holis.txt,

我的问题是如何编写包含此类字符的行以及上一行

答案1

我怎样才能写出包含该字符的行以及上一行

使用-B1

例如:

$ seq 10 >file
$ grep -B1 5 file
4
5

如果要包含文件的名称,请添加-H

$ grep -HB1 5 file
file-4
file:5

结合find

假设您拥有 GNUfind或现代 BSD find,那么您的完整命令可以简化为:

find ./ -iname '*txt' -exec grep -HB1 "ququ" {} + >holis.txt

相关内容