IT

Linux grep 명령어 And, Or, Not 조건 사용

쏘펀 2024. 3. 7.

 

grep은 파일을 읽거나 파이프에서 입력을 받아 특정 패턴을 포함하는 라인만 출력해주는 명령어임.

리눅스를 사용한다면 많이 사용하는 명령어 top10 순위에 들어가지 않을까...나는 생각

$ cat grep_test
1번
2번
가나다
3번
가나다라

$ cat grep_test | grep 번
1번
2번
3번

$ cat grep_test | grep 가나
가나다
가나다라

 

나는 주로 로그를 볼 때 특정 단어가 들어가는 라인을 필터링해서 보고 싶을때 사용했음

이렇게 사용하면서 grep 뒤에 들어가는 조건을 And, Or, Not으로 여러개의 조건 사용도 가능함

 

And 조건 사용

두개 이상의 조건을 모두 만족하는 라인을 보고싶다면 grep 명령어를 파이프로 연결해서 사용하면 됨

#cat 파일이름 | grep 첫번째조건 | grep 두번째 조건
cat grep_test | grep 번 | grep 1
1번

 

또는 -E 옵션 사용

#cat 파일이름 | grep -E '첫번째조건.*두번째조건'
cat grep_test | grep -E '번*1'
1번

 

 

Or 조건 사용

여러개의 조건 중 하나라도 만족하는 라인을 보고싶다면 -e 옵션을 줘서 사용하면 됨

#cat 파일이름 | grep -e 첫번째조건 -e 두번째조건
cat grep_test | grep -e 번 -e 가
1번
2번
가나다
3번
가나다라

 

또는 -E 옵션을 사용해서 조건들을 |로 묶어줌

#cat 파일이름 | grep -E "첫번째조건|두번째조건"
cat grep_test |grep -E "번|가"
1번
2번
가나다
3번
가나다라

 

 

Not 조건 사용

특정 조건이 포함된 라인만 제거하고 보고싶다면 -v 옵션을 사용하면 됨

#cat 파일이름 | grep -v '조건'
cat grep_test | grep -v '번'
가나다
가나다라

 

 

댓글