
.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