카테고리 없음

[리눅스 팁] grep, awk, sed에 공통으로 사용되는 정규표현식들

Linuxpia4U 2024. 2. 22. 23:44
반응형

grep, awk, sed에 공통으로 사용되는 정규표현식들

grep, awk, sed는 텍스트 처리에 널리 사용되는 강력한 리눅스 명령어입니다. 이들 명령어에서 공통적으로 사용할 수 있는 기본적인 정규표현식 문법을 소개하겠습니다. 이 기본 문법은 텍스트 검색, 패턴 매칭, 데이터 추출 및 변환 작업에 유용하게 사용됩니다.

caption: 대문자로 시작하는 모든 줄 찾음

기본 문자와 메타문자

  • 리터럴 문자: 일반 문자는 해당 문자와 정확히 일치하는 문자를 찾습니다.
  • . (점): 어떤 단일 문자와도 일치합니다.
  • ^: 줄의 시작을 나타냅니다.
  • $: 줄의 끝을 나타냅니다.
  • [...]: 대괄호 안에 있는 문자 중 하나와 일치합니다. 예를 들어, [abc]는 "a", "b", 또는 "c"와 일치합니다.
  • [^...]: 대괄호 안에 있는 문자를 제외한 어떤 단일 문자와도 일치합니다. 예를 들어, [^abc]는 "a", "b", "c"를 제외한 어떤 문자와도 일치합니다.
  • |: 두 패턴 중 하나와 일치하는 대안을 나타냅니다 (awk와 grep에서는 egrep 또는 grep -E를 사용할 때 사용 가능).
  • \: 메타문자를 이스케이핑하여 리터럴 값으로 사용하고 싶을 때 사용합니다.

반복 관련 메타문자

  • *: 바로 앞의 문자가 0번 이상 반복되는 경우와 일치합니다.
  • +: 바로 앞의 문자가 1번 이상 반복되는 경우와 일치합니다 (awk와 grep에서는 egrep 또는 grep -E를 사용할 때 사용 가능).
  • ?: 바로 앞의 문자가 0번 또는 1번 등장하는 경우와 일치합니다 (awk와 grep에서는 egrep 또는 grep -E를 사용할 때 사용 가능).
  • {n}: 바로 앞의 문자가 정확히 n번 반복되는 경우와 일치합니다.
  • {n,}: 바로 앞의 문자가 n번 이상 반복되는 경우와 일치합니다.
  • {n,m}: 바로 앞의 문자가 최소 n번, 최대 m번 반복되는 경우와 일치합니다.

그룹화와 참조

  • ( ... ): 괄호 안의 패턴을 그룹으로 처리하여, 반복되는 패턴을 찾거나 참조할 때 사용합니다. awk에서는 기본적으로 지원되지 않으며, gawk에서 확장 정규 표현식을 사용할 때 가능합니다.

정리

grep, awk, sed에서 사용하는 정규표현식은 텍스트 데이터를 처리하는 데 매우 유용합니다. 이들 명령어를 사용할 때 위에 언급된 정규표현식 문법을 활용하여 복잡한 텍스트 검색, 패턴 매칭, 데이터 추출 및 변환 작업을 수행할 수 있습니다. 다만, 명령어에 따라 지원하는 정규표현식의 범위와 문법에 약간의 차이가 있을 수 있으므로, 각 명령어의 문서를 참고하는 것이 좋습니다.

반응형