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


2

您好我正在使用此行

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

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

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

Answers:


1

如何编写包含此字符的行以及前一行

使用-B1

例如:

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

如果要包含文件名,则添加-H

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

结合 find

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

find ./ -iname '*txt' -exec grep -HB1 "ququ" {} + >holis.txt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.