'Linux'에 해당되는 글 8건

  1. 2020.11.17 [linux]grep 명령어
Linux2020. 11. 17. 12:05

 

 

 

grep 명령어는 입력으로 전달된 파일 내용에서 특정 문자열을 찾고자 할때 쓰는 명령어이다.

이것도 리눅스에서 숨쉬듯이 사용되는 명령어 중 하나이다.

단지 문자열이 일치하는지를 넘어, 다양하고 효율적으로 문자열을 찾을 수 있다. 정규식 사용도 가능.

사용 예)

 

[root@localhost~]$ grep [OPTION] [PATTERN] [FILE]
//아래는 'DEER.txt' 파일의 내용에서 'DEER'라는 문자열을 검색하고 문자열이 존재하는 라인을 출력한다.
//대소문자 구분함
[root@localhost~]$ cat DEER.txt
DEER1
DEER2
LION
DEER3
[root@localhost~]$ grep 'DEER' DEER.txt
DEER1
DEER2
DEER3

[root@localhost~]$ grep 'str' [FILE] //대상 파일에서 문자열 검색
[root@localhost~]$ grep 'str' * //현재 디렉토리 모든 파일에서 문자열 검색
[root@localhost~]$ grep 'str' *.txt //'.txt' 확장자를 가진 모든 파일에서 문자열 검색
[root@localhost~]$ grep -i 'str' [FILE] //대소문자 구분하지 않고 문자열 검색
[root@localhost~]$ grep -v 'str' [FILE] //매칭되는 정규식 PATTERN이 존재하지 않는 라인 선택
[root@localhost~]$ grep -w 'str' [FILE] //단어 단위로 문자열 검색
[root@localhost~]$ grep -n 'str' [FILE] //검색된 문자열이 포함된 라인 번호 출력
[root@localhost~]$ grep -r 'str' * //하위 디렉토리를 포함한 모든 파일에서 문자열 검색
[root@localhost~]$ grep -m 100 'str' FILE //최대 검색 결과 갯수 제한
[root@localhost~]$ grep -H 'str' * //검색 결과 앞에 파일 이름 표시
[root@localhost~]$ grep 'A.*B' * //문자열 A로 시작하여 문자열 B로 끝나는 패턴 찾기
[root@localhost~]$ grep 'str[0-9]' * //str뒤에 0-9사이 숫자만 변경되는 패턴 찾기
[root@localhost~]$ grep -F '*[]?..." [FILE] //문자열 패턴 전체를 정규 표현식 메타 문자가 아닌 
                                            //일반 문자로 검색하기
[root@localhost~]$ grep '\*' [FILE] //정규 표현식 메타 문자를 일반 문자로 검색하기
[root@localhost~]$ grep '^str' [FILE] //문자열 라인 처음 시작 패턴 검색하기
[root@localhost~]$ grep '$str' [FILE] //문자열 라인 마지막 종료 패턴 검색하기

 

 

grep 명령어 옵션)

grep [OPTION...] PATTERN [FILE...]

-E : PATTERN을 확장 정규 표현식(Extended RegEx)으로 해석

-F : PATTERN을 정규 표현식(RegEx)이 아닌 일반 문자열로 해석

-G : PATTERN을 기본 정규 표현식(Basic RegEx)으로 해석

-P : PATTERN을 Per1 정규 표현식(Per1 RegEx)으로 해석

-e : 매칭을 위한 PATTERN 전달

-f : 파일에 기록된 내용을 PATTERN으로 사용

-i : 대/소문자 무시

-v : 매칭되는 PATTERN이 존재하지 않는 라인 선택

-w : 단어(word) 단위로 매칭

-x : 라인(line) 단위로 매칭

-z : 라인을 newline(\n)이 아닌 NULL(\0)로 구분

-m : 최대 검색 결과 갯수 제한

-b : 패턴이 매치된 각 라인(-o 사용 시 문자열)의 바이트 옵셋 출력

-n : 검색 결과 출력 라인 앞에 라인 번호 출력

-H : 검색 결과 출력 라인 앞에 파일 이름 표시

-h : 검색 결과 출력시, 파일 이름 무시

-o : 매칭되는 문자열만 표시

-q : 검색 결과 출력하지 않음

-a : 바이너리 파일을 텍스트 파일처럼 처리

-I : 바이너리 파일은 검사하지 않음

-d : 디렉토리 처리 방식 지정(read, recurse, skip)

-D : 장치 파일 처리 방식 지정(read, skip)

-r : 하위 디렉토리 탐색

-R : 심볼릭 링크르 따라가며 모든 하위 디렉토리 탐색

-L : PATTERN이 존재하지 않는 파일 이름만 표시

-l : 패턴이 존재하는 파일 이름만 표시

-c : 파일 당 패턴이 일치하는 라인의 갯수 출력

'Linux' 카테고리의 다른 글

[Linux]tar, gz, zip 압축 및 해제  (0) 2020.11.17
[linux]find 명령어  (0) 2020.11.17
[linux]mv 명령어  (0) 2020.11.15
[linux]touch 명령어  (0) 2020.11.15
[linux]rmdir 명령어  (0) 2020.11.15
Posted by 사슴영혼'-'