grep 정규식 예제

Sem imagem cadastrada

일부 정규식에 문제가 있기 때문에 RHEL5에서 이 작업을 수행해야 했습니다. 즉, 에코 € a†| grep â€â[0-9]+,[0-9]+]†작동해야 하지만 ™t와 에코 a a  | grep -e â€ââ[0-9]{1,},[0-9]{{1,}]â€는 작동해야 ™ 하지만 “문자 클래스” 도구는 정규식의 보다 유연하고 자주 사용되는 기능 중 하나입니다. 문자 클래스를 사용하는 방법에는 두 가지 기본 방법이 있습니다. 범위는 전체 문자 시퀀스를 입력할 필요가 없는 편리합니다. 문자 클래스에는 특수 문자 목록이 포함될 수도 있지만 범위로 사용할 수는 없습니다. 마지막으로 가장 일반적으로 사용되는 메타 문자 중 하나는 “이전 문자 또는 식0번 이상 반복”을 의미하는 “*”입니다. 괄호를 사용하여 식을 함께 그룹화합니다. 확장된 정규식을 사용하지 않고 괄호를 사용하려는 경우 백슬래시를 사용하여 괄호를 이스케이프하여 이 기능을 활성화할 수 있습니다. 이 가이드의 범위를 벗어난 많은 문자 클래스가 있지만 위와 동일한 절차를 수행하는 예제는 대괄호 선택기 내에서 “[:upper:]” 문자 클래스를 사용합니다. 명령, 그것은 하나의 따옴표 (`)로 정규식을 동봉 하는 것이 좋습니다 검색 도구에 인수를 전달 하기 전에 확장에서 셸을 중지 합니다.

다음은 grep를 사용하는 몇 가지 예입니다: 문자 “v” 두 번 일치: egrep “v{2}” 파일 이름 다음 “col” 및 “쿨”을 모두 일치 합니다.: egrep `co{1,2}l` 파일 이름 다음 적어도 세 글자 `c`의 행을 일치 합니다. egrep `c{3,}` 파일 이름 다음 예제는 다음 형식 91-1234567890 (즉, 두 자리-10자리)에 있는 휴대폰 번호와 일치합니다. 동일한 인쇄물을 많이 반복하지 않도록 그룹화됩니다. 다음은 검색과 일치하는 각 줄에 대해 Grep이 일치하는 줄과 일치 한 다음 줄을 인쇄합니다. -A에 제공된 수를 변경하면 출력에 있는 추가 줄 수가 변경됩니다. 정규식에서 매우 일반적으로 사용되는 문자 클래스가 꽤 있으며 이러한 클래스는 명명된 클래스로 제공됩니다. 예를 들어 위에서 사용한 소문자 알파벳의 [a-z] 클래스에는 명명된 클래스 [:lower:]가 있습니다. 당연히 [:upper:]는 대문자 A에서 Z로, [:alpha:]는 모두 알파벳 문자이며 [아래쪽:] 플러스 [:upper:]와 같습니다. [:digit:] 숫자 0 ~ 9, 그리고 [:alnum:] [:알파:] 및 [:digit:]의 조합 – [:alnum:]의 상숫자 문자입니다. Grep 매뉴얼은 이러한 명명된 클래스를 더 나열합니다.

어떤 경우에 vivek 검색 (즉, 대/소문자 구분 검색) grep -i-w `vivek` /passwd 검색 vivek 또는 어떤 경우에 raj -E-i-w `vivek | raj` /etc/passwd 마지막 예에서 PATTERN, 확장 된 정규 표현식으로 사용. 다음은 어떤 경우에 단어 리눅스 또는 UNIX일치합니다 : egrep -i `^(linux | 유닉스)` 파일 이름 제이슨, 당신은 당신이 사용하는 도구에 따라 b 또는 < * 수량자, 그래서 "c*"는 "0, 하나 이상의 `c`chara일치합니다 "단어 경계"표현을 사용할 수 있습니다 "를 참조하십시오. 당신은 정확히 하나의 c가 될 것입니다, 그 다음이 될 것입니다 : bc.* Grep가 검색하도록 요청되는 스트림이 체인의 이전 명령에서 파이프를 통해 표준 입력으로 전달될 때, grep -H는 파일 이름으로 표시 (표준 입력).