grep의 매개변수 확장

grep의 매개변수 확장

여러 항목으로 채워진 텍스트 파일에서 다음 패턴의 문자열을 검색하려면:

entry=G_1234
entry=G_5678
entry=G_2345

다음 grep 문은 결과를 제공하지 않습니다.

grep -ioe "entry=G_{1234,2345}" filename

오류가 어디에 있는지 또는 grep에서 매개변수 확장이 불가능한지 안내해 주시겠습니까?

답변1

누구나:

grep -iEo 'entry=G_(1234|2345)'

즉, E정규식의 확장( ) 교대 연산자를 사용합니다.

또는 중괄호 확장을 지원하는 쉘의 경우 다음을 사용하십시오.

grep -io '-eentry=G_'{1234,2345}

그런 다음 쉘은 이를 다음으로 확장합니다.

grep -io -eentry=G_1234 -eentry=G_2345

grep이 이 둘 중 하나를 찾게 만듭니다.이자형표현하다.

답변2

Grep은 쉘 패턴이 아닌 정규식을 사용합니다. 정규식에는 다양한 구문이 있습니다.

grep -ioe 'entry=G_\(1234\|2345\)' filename

관련 정보