반응형

텍스트 파일에서 2개 이상의 문자열을 검색하는 방법이다.

(A and B) 일단 A라는 문자열과 B라는 문자열이 모두 포함된 행을 찾는 것은 간단하다. 파이프(|)를 이용해서, A가 포함된 뿐을 골라낸 후에 거기서 B를 골라내면 된다.
cat file.txt | grep A | grep B

(A or B) A 또는 B가 포함된 행을 찾으려면 A와 B를 파이프(|) 기호로 연결하면 된다. 연산자로 인식하도록 역슬래시(\)를 붙여준다.
cat file.txt | grep "A\|B"

또는 egrep 명령을 활용해도 된다. 작은따옴표(')와 괄호를 이용한다.
cat file.txt | egrep '(A|B)'

만약 shell script에서 변수에 할당된 문자열을 사용하려고 한다면 egrep으로는 어렵고 앞에 언급한 파이프 기호를 이용해야 한다.
str_a="1st string"
str_b="2nd string"
cat file.txt | grep "$str_a\|$str_b"

 


 

반응형

'리눅스 쉘 스크립트' 카테고리의 다른 글

awk 사용법  (0) 2018.01.16
find 사용하기  (0) 2018.01.15
grep 정규 표현식 패턴 예제 두 가지  (0) 2018.01.15
쉘 스크립트 - AWK 사용법  (0) 2017.12.24
GREP 사용방법 - 옵션, 정규표현식  (0) 2017.12.17

+ Recent posts