別の行にあるいくつかのパターンを見つけてください。

別の行にあるいくつかのパターンを見つけてください。

.txtファイルがあります

A2
RP FAULT

A2
RP FAULT

A2
CELL

A2
CELL

2単語をどのようにgrepできますか?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

関連情報