반달가면 이글루에서 백업 - bahndal.egloos.com/418681
텍스트 파일에서 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"
728x90
'bash script' 카테고리의 다른 글
[bash: shuf] 문자열/수자를 무작위로 뒤섞기(shuffling) (0) | 2020.10.23 |
---|---|
[bash: openssl] 파일 암호화 (0) | 2020.10.23 |
[bash: awk] 탭(tab)이 포함된 문자열 검색하기 (0) | 2020.10.22 |
[bash: echo] 같은 줄에 문자열 겹쳐 쓰기 (0) | 2020.10.21 |
[bash: tr] 대소문자 변환 (0) | 2020.10.21 |