grep 명령 의 or, and, not 동작 에 대한 예
사실 grep 명령 에는 OR 와 NOT 연산 자의 등가 옵션 이 있 지만 grep AND 라 는 연산 자 는 없습니다.하지만 patterns 를 사용 하여 AND 작업 을 모 의 할 수 있 습 니 다.리 눅 스 의 grep 명령 에서 OR, AND, NOT 를 어떻게 사용 하 는 지 예 를 들 어 설명 한다.
아래 의 예 에서 이 employee. txt 파일 을 사용 합 니 다. 다음 과 같 습 니 다.
$ cat employee.txt
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy Manager Sales $6,000
(1) Grep OR 연산 자
다음 네 가지 방법 은 모두 grep OR 의 조작 을 실현 할 수 있다.개인 추천 방법 3.
1. 사용 \ |
grep 명령 의 어떤 옵션 도 사용 하지 않 으 면 '\ |' 을 사용 하여 여러 pattern 을 분할 하여 OR 작업 을 수행 할 수 있 습 니 다.
grep 'pattern1\|pattern2' filename
예 는 다음 과 같다.
$ grep 'Tech\|Sales' employee.txt
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
500 Randy Manager Sales $6,000
2.
사용 옵션 - E
grep - E 옵션 은 정규 표현 식 으로 확장 할 수 있 습 니 다.grep 명령 의 옵션 - E 를 사용 했다 면 | 을 사용 하여 여러 pattern 을 분할 하여 OR 작업 을 수행 해 야 합 니 다.
grep -E 'pattern1|pattern2' filename
예 는 다음 과 같다.
$ grep -E 'Tech|Sales' employee.txt
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
500 Randy Manager Sales $6,000
3. egrep 사용
egrep 명령 은 'grep - E' 와 같다.따라서 egrep (옵션 이 없 음) 명령 을 사용 하여 분 단 된 여러 Pattern 에 따라 OR 작업 을 수행 합 니 다.
egrep 'pattern1|pattern2' filename
예 는 다음 과 같다.
$ egrep 'Tech|Sales' employee.txt
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
500 Randy Manager Sales $6,000
4. 사용 옵션 - e
grep - e 옵션 을 사용 하면 하나의 인자 만 전달 할 수 있 습 니 다.단일 명령 에 여러 개의 - e 옵션 을 사용 하여 여러 개의 pattern 을 얻어 OR 작업 을 수행 합 니 다.
grep -e pattern1 -e pattern2 filename
예 는 다음 과 같다.
$ grep -e Tech -e Sales employee.txt
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
500 Randy Manager Sales $6,000
(2) Grep AND 조작
1. 사용 - E 'pattern 1. * pattern 2'
grep 명령 자 체 는 AND 기능 을 제공 하지 않 습 니 다.단, - E 옵션 을 사용 하면 AND 동작 을 수행 할 수 있 습 니 다.
grep -E 'pattern1.*pattern2' filename
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename
첫 번 째 예 는 다음 과 같다.
$ grep -E 'Dev.*Tech' employee.txt
200 Jason Developer Technology $5,500
두 번 째 예: (두 pattern 의 순 서 는 고정된 것 이 아니 라 무질서 할 수 있다)
$ grep -E 'Manager.*Sales|Sales.*Manager' employee.txt
2. grep 명령 여러 개 사용 하기
여러 개의 grep 명령 을 사용 하여 파이프 문자 로 나 누 어 AND 의 미 를 실현 할 수 있 습 니 다.
grep -E 'pattern1' filename | grep -E 'pattern2'
예 는 다음 과 같다.
$ grep Manager employee.txt | grep Sales
100 Thomas Manager Sales $5,000
500 Randy Manager Sales $6,000
(3) Grep NOT 조작
1. 옵션 grep - v 사용
grep - v 를 사용 하면 NOT 작업 을 실현 할 수 있 습 니 다. -v 옵션 은 반 선 일치 (invert match) 를 실현 하 는 데 사 용 됩 니 다.예 를 들 어 지정 한 pattern 을 제외 한 모든 lines 와 일치 할 수 있 습 니 다.
grep -v 'pattern1' filename
예 는 다음 과 같다.
$ grep -v Sales employee.txt
200 Jason Developer Technology $5,500
300 Raj Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
물론 NOT 조작 을 다른 조작 과 결합 시 켜 더욱 강력 한 기능 조합 을 실현 할 수 있다.
예 를 들 어 이 예 는 'Manager 또는 Developer, 하지만 Sales' 의 결 과 를 얻 을 수 있 습 니 다.
$ egrep 'Manager|Developer' employee.txt | grep -v Sales
200 Jason Developer Technology $5,500
400 Nisha Manager Marketing $9,500
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.