我有文件.txt
A2
RP FAULT
A2
RP FAULT
A2
CELL
A2
CELL
我如何才能 grep 2 个单词:A2 & RP FAULT
,结果应该是:
A2
RP FAULT
A2
RP FAULT
我尝试什么:
cat file.txt | grep -E "A2|RP FAULT"
但结果是这样的
A2
RP FAULT
A2
RP FAULT
A2
A2
答案1
您的grep -E
命令执行您在主题中编写的操作,但我想您真正想要的是A2
如果以下行是 则显示带有“状态”的行RP FAULT
。正确的?
cat file.txt | grep -A 1 "A2" | grep -B 1 'RP FAULT'
显示比赛后的行数,显示-A n
比赛前的行数。n
-B n
答案2
选项1:你可以尝试pcregrep
代替常规grep
pcregrep -M "A2\nRP FAULT" file
-M
用于匹配多行,以便我们可以将换行符搜索为\n
.
选项2:与定期grep
grep -zoP "A2\nRP FAULT" file
输出:
A2
RP FAULT
A2
RP FAULT