>php教程 >PHP开发 >grep 일반 명령

grep 일반 명령

高洛峰
高洛峰원래의
2016-12-13 14:34:201205검색

이 --include 옵션은 다음과 같이 사용할 수 있습니다.
grep -rn --include='*.c' --include='*.h' re.

여러 개 지정할 수 있습니다. 번, 위와 같은 경우에는 실제로
grep -rn --include='*.[ch]' re 를 사용할 수 있습니다.

그러나 소스 파일에 C++ 소스 코드가 포함되어 있는 경우 위의 방법은 작동하지 않습니다.
grep -rn --include='*.{cpp,h}'도 현재로서는 작동하지 않습니다. , 따옴표 없이 확장해야 합니다(bash가 grep을 실행하기 전에 완료되었으며 set -x를 통해 관찰할 수 있습니다)

grep -rn --include=*.{cpp,h} re .

pair {A in bash ,B} 이 형식의 확장은 해당 파일이 현재 디렉터리에 있는지 여부를 무시합니다. 이 방법을 사용하면 명령줄에서 피곤한 작업을 피할 수 있습니다. >
강조 표시

grep --color=auto 'pattern' 'text'

echo -e 'e[34mhahae[m' string -e 특수 처리를 나타냅니다. e 이 e 뒤에는 [기호

grep 일반적으로 사용되는

grep [-acinv] '가 와야 합니다. string' 파일 이름

매개변수 설명:

-a: 바이너리 파일을 텍스트 파일로 검색

-c: '검색 문자열'이 발견된 횟수를 계산합니다.

- i : 대소문자의 차이를 무시하여 대소문자를 동일하게 취급

-n : 행번호를 출력하는 방법

- v: 역선택, 즉 '검색 문자열'이 없습니다. 그 내용의 줄!

1. 특정 문자 검색

grep 'oo' pp.txt 아래에서는 pp.txt를 나타내기 위해 pp만 사용합니다

문자를 표시하는 줄 수 보기

grep -n 'oo' pp

oo가 아닌 문자 보기

grep -v 'oo' pp

무시된 대문자 및 소문자 보기

grep -i 'oo' p

2. []를 사용하여 검색 결과를 처리합니다

테이스트 및 테스트 문자열 보기

grep -n 't[ae]st' pp 여기에서 [ ae]는 단 하나의 문자로 처리되며 a 또는 e는 위의 요구 사항을 충족할 수 있습니다

t(x)st와 일치시키고 x가 임의의 문자인 경우 다음과 같이 처리할 수 있습니다. 🎜>

grep 't[.]st' pp . 기호는 모든 문자를 나타냅니다.

oo 문자가 포함된 정보 보기

grep -n 'oo' pp

oo 앞에 g 문자 정보가 없도록 하려면

grep -n '[^g]oo' pp 여기서 ^는 non-goo를 부정한다는 의미입니다. 문자

앞의 비문자 가져오기

grep -n '[^a-zA-Z]oo' pp

숫자 문자를 얻는 경우

grep -n '[0-9]' pp // 사실 이는 grep -n '[0-9[0-9]*' pp와 동일합니다. *는 0 또는 다중 반복 정보를 나타냅니다

3. 줄의 시작과 끝을 특수 처리합니다 $^

첫 번째 줄은 문자 줄로 시작합니다

grep -n '^the' pp

영어 문자로 시작하는 문자를 가져오려면

grep -n '^[ a-zA-Z]' pp

영어 문자로 시작하지 않는 정보 가져오기

grep -n '^[ ^a-zA-Z]' pp / / ^내부는 위와 같이 시작하는 외부^의 부정입니다

소수점으로 끝나는 줄을 구합니다

grep -n '.$' pp //소수점은

으로 이스케이프해야 합니다. Windows에서 줄을 변경할 때 ^M 기호에 주의하세요. 🎜>

빈 줄을 얻는 방법

grep -n '^$' pp 빈 줄을 가져오는 것입니다

모든 문서에서 주석 처리되지 않은 내용을 얻으려면 다음을 수행하면 됩니다.

grep - v ' ^$' pp | 첫 번째는 비어 있지 않은 데이터를 가져오는 것입니다. 첫 번째 파이프라인은 시작 부분의 데이터입니다.

가끔 #v v

grep -n '^#' pp

4. 문자 및 반복 문자

.: 임의 문자

*: 0개 이상의 동일한 문자

중간에 두 문자가 포함된 데이터를 보려면 gf

grep -n 'g..f' pp

o인 문자열 하나 이상

grep -n 'oo*' pp //*는 0개 이상을 나타내기 때문입니다.

g로 시작하고 끝나며, 중간에 o가 하나 이상 있습니다.

grep -n 'goo*g'

중간 문자가 있는 gg를 찾으세요. 여기서 문자열

grep -n 'g.*g' pp는 모든 문자를 나타냅니다.

5. 한정자 {}

보기 g와 p 사이에 o가 연속된 두 개의 문자열이 있습니다.

grep -n 'go{2,5}p'

두 개 이상의 문자 찾기 만들기

grep -n 'go{2,}p' pp

두 개만 포함된 문자열 찾기

grep -n 'go{ 2}p' pp

6. 중요 특수 문자

^word 검색할 문자열(word )을 줄 시작 부분에!

예: grep -n '^#' pp는 #으로 시작하는 줄을 검색합니다!

word$검색할 문자열(단어)이 줄 끝에 있습니다!

예: grep -n '!$' pp !!로 끝나는 줄을 인쇄합니다.

. 모든 문자를 나타냅니다.

예; grep -n 'g.' 는 g로 시작하는 두 문자를 인쇄합니다

특수 문자 이스케이프

예: grep -n ' pp 작은따옴표가 있는 줄 검색

*: 0개 이상의 문자와 일치

grep -n 'o*' pp는 0개 이상의 o가 있는 문자와 일치

{n,m}: 일치 수

grep -n 'o{2}' pp는 두 개의 oo 문자가 포함된 문자를 인쇄합니다.

[] 단일 문자 일치

1.[ list]: [abl] abl 2에서

와 일치합니다.[^xx]: 여기에 있는 문자를 부정합니다. 여기서는 올바른 문자만 찾을 수 있습니다. 여러 문자를 부정하려면 다음을 확인해야 합니다.

3. [char1-char2]: [a-z][A-Z][0-9]와 같은 특정 범위 내의 데이터를 일치시킵니다.

7. --- >egrep 이는 grep -E

grep -v '^$' pp | grep -v '^#'

과 동일합니다. is

egrep -v '^$|^'

8. 검색 내용이 "OR" 관계입니다.

# 다음으로 내용을 찾습니다. 숫자 23 또는 24를 입력하고 내용과 줄 번호를 표시합니다

grep -E '23|24' * -n

9. data.txt 파일에 있습니다:

grep '^$' data.txt -c

10. 현재 디렉토리에 디렉토리가 몇 개 있는지 확인하세요. 🎜>

ls -l | grep '^d'

11. 문자열이 Content

grep 'a$로 끝나는 data.txt 파일을 찾습니다. ' data.txt -i -n

$ grep "sort it" * (#또는 모든 파일에서 "sort it"이라는 단어를 검색하세요”)

다음 예제는 모두
$ grep -c "48" data.f
$ 4                   (#g r e p 숫자 4를 반환합니다. 문자열 "4 8"을 포함하는 4개 행. )
$ grep "48" data.f (#"4 8" 문자열을 포함하는 텍스트 4줄 표시)

일치 패턴을 만족하는 줄 수 표시:

[root@ mypc oid2000]# grep -n 1234 111.txt

1:1234
3:1234ab

6. 정확히 일치

[root@mypc oid2000]# grep "1234>" txt

1234

7. 빈 줄과 특정 조건으로 시작하거나 끝나는 줄을 쿼리합니다.

빈 줄을 쿼리하려면 ^와 $를 함께 사용하세요. -n 매개변수를 사용하여 실제 줄 수를 표시합니다.

[root@mypc oid2000]# grep -n "^$" 111.txt(반환 결과 2: #두 번째 줄이 빈 줄임을 나타냄)
[root@mypc oid2000 ]# grep -n "^abc" 111.txt (#abc로 시작하는 줄 쿼리)
[root@mypc oid2000]# grep -n "abc$" 111.txt (#쿼리 abc로 끝나는 줄)

8. 특수 문자를 일치시키고 $ . ' " * [] ^ | + ? 와 같이 특수 문자 앞에 추가해야 하는 문자를 검색합니다.

[root@mypc oid2000]# grep "." 111.txt (#111.txt에 "."가 포함된 모든 줄 쿼리)

[root@mypc oid2000]# grep "my.conf" 111.txt (# 파일명 my.con f 라인을 조회합니다)

9. 디렉터리 조회

[root@mypc oid2000]# ls –l |grep “^d”(#디렉토리에 있는 디렉터리를 조회하려는 경우 list)

[root@ mypc oid2000]# ls –l |grep “^d[d]”(#디렉토리를 포함하지 않는 디렉터리의 모든 파일 쿼리)
[root@mypc]# ls –l |grep “^d….. x..x” (#다른 사용자 및 사용자 그룹 구성원이 실행 권한을 가지고 있는 디렉터리 집합 쿼리)

10. 자신을 제외

ps -ef |grep telnet | grep -v grep ( 표시된 프로세스에서 "telnet" 프로세스를 추출하고 ps에서 grep 프로세스를 삭제합니다.)

egrep의 여러 특수 문자

+: 하나 이상의 egrep -n 'go+d' pp

?: 0 또는 하나의 egrep -n 'go?d' pp

|: egrep을 검색하려면 또는 사용 -n ' go|good' pp go 또는 good

() 검색: 그룹 데이터 찾기 egrep -n 'g(o|pp)d' pp god 또는 gppd 보기 이는 []와 유사하지만 []보다 나은 점은 여러 문자를 바꿀 수 있다는 것입니다.

egrep -n 'd(r|o)e' pp ===== grep -n 'd[ro]e' pp

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:grep 리눅스 명령다음 기사:grep 리눅스 명령