RedHat 시스템관리 / / 2023. 3. 23. 09:33

grep 명령어: 정규표현식을 사용한 grep 명령어 사용 예시

반응형

 

grep: 텍스트 검색 기능을 가진 명령어

 

 

1. 파일에서 검색

 

# test.txt 파일에서 'a'가 포함된 텍스트만 검색
grep a /text.txt

 

 

 

2. 명령 결과에서 검색

 

# ps aux 명령어에서 'pts'가 포함된 텍스트만 검색
ps aux | grep 'pts'

 

 

[ grep 옵션 ]

 

옵션 기능
-i 제공된 정규 표현식을 사용 단, 대소문자를 구분하지 않음(대소문 자 구분 없이 실행)
-v 정규 표현식과 일치하는 항목이 없는 행만 표시
-r 정규 표현식과 일치하는 데이터를 파일 그룹 또는 디렉터리에서 반복적으로 검색
-A NUMBER 정규 표현식과 일치하는 항목 다음의 행 수를 표시
-B NUMBER 정규 표현식과 일치하는 항목 앞의 행 수를 표시
-e 여러 개의 -e 옵션을 사용하면 복수의 정규 표현식을 제공할 수 있으며, 논리 OR과 함께 사용

 

# i 옵션 유무 비교
/etc/crontab 파일에서 대소문자 구분 없이 출력

 

 

 

 

[ Bash 정규표현식 ]

 

옵션 설명
. 마침표(.)는 모든 단일 문자와 일치
? 앞의 항목이 선택 사항이며 최대 한 번만 일치
* 앞의 항목이 0번 이상 일치
#ERROR! 앞의 항목이 1번 이상 일치
{n} 앞의 항목이 정확히 n번 일치
{n,} 앞의 항목이 n번 이상 일치
{m,} 앞의 항목이 최대 m번 일치
{n,m} 앞의 항목이 n번 이상, 최대 m번 일치
[:alnum:] 영숫자 문자 [:alpha:] 및 [:digit:] 'C' 로케일과 ASCII 문자 인코딩 에서는 이 표현식이 [0-9A-Za-z]와 같다.
[:alpha:] 알파벳 문자 [:lower:] 및 [:upper:] 'C' 로케일과 ASCII 문자 인코딩 에서는 이 표현식이 [A-Za-z]와 같다.
[:blank:] 공백 문자(공백 및 탭)
[:cntrl:] 제어 문자 ASCII에서 이러한 문자의 8진수 코드는 000~037 및 177(DEL)이다.
[:digit:] 숫자 0 1 2 3 4 5 6 7 8 9
[:graph:] 그래픽 문자 [:alnum:] 및 [:punct:]
[:lower:] 소문자 'C' 로케일 및 ASCII 문자 인코딩에서는 a b c d e f g h i j k l m n o p q r s t u v w x y z
[:print:] 출력 가능한 문자는 [:alnum:], [:punct:], 공백
[:punct:] 문장 부호 문자 'C' 로케일 및 ASCII 문자 인코딩에서는 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ' { | } ~
[:space:] 공백 문자 'C' 로케일에서는 탭, 줄 바꿈, 세로 탭, 용지 공급, 캐리지 리턴, 공백
[:upper:] 대문자: in the 'C' locale and ASCII character encoding: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[:xdigit:] 16진수 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
\b 단어의 가장자리에 있는 빈 문자열과 일치
\B 단어의 가장자리가 아닌 위치에 있는 빈 문자열과 일치
\< 단어의 시작 부분에 있는 빈 문자열과 일치
\> 단어의 끝 부분에 있는 빈 문자열과 일치
\w 단어 구성 요소와 일치 [_[:alnum:]]의 동의어
\W 비단어 구성 요소와 일치 [^_[:alnum:]]의 동의어
\s 공백과 일치 '[[:space:]]`의 동의어
\S 비공백과 일치 [^[:space:]]의 동의어

 

# grep -v 옵션과 [[:digit:]] 정규표현식 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

[위 내용은 Redhat의 공인 교육과정 내용 중 일부를 정리한 글입니다.]

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유