你好我正在使用这条线路
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