Linux 정규식 튜토리얼: Grep Regex 예
⚡ 스마트 요약
리눅스 정규 표현식은 grep, sed, vi와 같은 도구에서 데이터를 검색하고 복잡한 패턴을 일치시키는 특수 문자 시퀀스로, 기본, 간격, 확장 및 중괄호 확장 형식을 사용하여 텍스트를 정확하게 필터링합니다.

정규 표현식은 가장 강력한 기능 중 하나입니다. Linux grep은 간결한 패턴을 사용하여 데이터를 일치, 필터링 및 변환할 수 있는 텍스트 도구입니다. 이 페이지에서는 기본, 간격 및 확장 형식과 중괄호 확장에 대해 설명하고 grep 예제를 통해 이를 보여줍니다.
Linux 정규식이란 무엇입니까?
리눅스 정규 표현식은 데이터를 검색하고 복잡한 패턴을 일치시키는 데 도움이 되는 특수 문자입니다. 정규 표현식은 'regexp' 또는 'regex'로 줄여서 부릅니다. 많은 리눅스 프로그램에서 사용됩니다. GREPbash, rename, sed 등 다양한 명령어가 있습니다.
정규식의 유형
이해를 돕기 위해 다양한 유형의 정규 표현식을 하나씩 살펴보겠습니다. 이 페이지에서는 기본 정규 표현식, 구간 정규 표현식, 확장 정규 표현식을 다루고 중괄호 확장으로 마무리합니다.
기본 정규식
정규 표현식과 함께 자주 사용되는 명령어로는 tr, sed 등이 있습니다. vigrep도 사용할 수 있습니다. 아래 표는 몇 가지 기본적인 정규 표현식을 나열합니다.
| 상징 | 기술설명 |
|---|---|
| . | 모든 문자를 대체합니다 |
| ^ | 문자열의 시작 부분과 일치합니다. |
| $ | 문자열의 끝과 일치합니다. |
| * | 앞 문자와 0회 이상 일치합니다. |
| \ | 특수 문자를 나타냅니다. |
| () | 그룹 정규식 |
| ? | 문자 하나가 정확히 일치합니다. |
예를 들어 보겠습니다. 먼저 아래와 같이 `cat sample` 명령어를 실행하여 기존 파일의 내용을 표시합니다.
다음으로, 'a'라는 문자가 포함된 내용을 검색합니다. 아래 스크린샷은 grep 명령어가 'a'가 포함된 모든 줄을 반환하는 결과를 보여줍니다.
캐럿 기호 '^'는 문자열의 시작 부분을 나타냅니다. 아래 예시는 'a'로 시작하는 콘텐츠를 검색합니다.
'a'로 시작하는 줄만 필터링됩니다. 'a'로 시작하지 않는 줄은 무시됩니다.
다른 예를 살펴보겠습니다. 아래 스크린샷은 줄 끝을 기준으로 필터링하기 전의 샘플 파일 내용을 다시 보여줍니다.
아래 그림과 같이 '$' 앵커를 사용하여 't'로 끝나는 줄만 선택하십시오.
간격 정규식
이 표현식들은 문자열에서 특정 문자가 나타나는 횟수를 지정합니다. 아래에 나열되어 있습니다.
| 표현 | 기술설명 |
|---|---|
| {NS} | 'n'번 나타나는 앞의 문자와 정확히 일치합니다. |
| {n,m} | 'n'번 나타나는 앞의 문자와 일치하지만 m보다 크지는 않습니다. |
| {N, } | 앞의 문자가 'n'회 이상 나타나는 경우에만 일치합니다. |
예를 들어, 'p' 문자가 포함된 모든 줄을 필터링합니다. 아래 스크린샷은 일치하는 줄을 보여줍니다.
이제 문자열에서 문자 'p'가 정확히 두 번, 연속해서 나타나는지 확인하십시오. 구문은 다음과 같습니다.
cat sample | grep -E p\{2}
인터벌 매치 결과는 아래와 같습니다.
참고: 이러한 정규식에는 -E를 추가해야 합니다.
확장 정규식
이러한 정규 표현식은 둘 이상의 표현식을 결합합니다. 몇 가지 예는 다음과 같습니다.
| 표현 | 기술설명 |
|---|---|
| \+ | 이전 문자의 하나 이상의 발생과 일치합니다. |
| \? | 이전 문자의 XNUMX개 또는 XNUMX개 항목과 일치합니다. |
예를 들어, 문자 't'가 모두 나타나는 부분을 검색해 보세요. 아래 스크린샷은 그 결과를 보여줍니다.
문자 'a'가 문자 't' 앞에 오는 줄을 필터링하고 싶다고 가정해 보겠습니다. 다음과 같은 명령어를 사용할 수 있습니다.
cat sample|grep "a\+t"
출력 결과는 다음 스크린샷에 나와 있습니다.
버팀대 확장
중괄호 확장 구문은 중괄호 '{}' 안에 항목들의 순서 또는 쉼표로 구분된 목록입니다. 순서의 시작 항목과 끝 항목은 마침표 '..'로 구분됩니다.
아래에 몇 가지 예시가 나와 있습니다.
위 예시에서 echo 명령어는 중괄호 확장을 사용하여 문자열을 생성하며, 하나의 패턴에서 여러 개의 문자열을 생성합니다.










