다른 줄에 있는 여러 패턴을 찾아보세요.

다른 줄에 있는 여러 패턴을 찾아보세요.

.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

관련 정보