파일 내용에서 검색 grep

  • 파일 내용에서 특정 내용만 찾을때 사용
  • grep [옵션] [패턴] [파일이름]
  • [옵션] : 좀 더 디테일한 조건으로 찾을 때 사용
  • [패턴] : 찾고 싶은 내용을 입력, 일치하는 내용을 출력. 정규표현식 사용 가능
  • [파일 이름] : grep 명령어로 특정 내용을 검색할 파일을 지정한다.
    ex ) grep -i root/ect/id

옵션

-i : 대소문자 무시 (word와 WoRD 를 구분하지 않는다.)
-n : 줄 번호 표시 (line 넘버를 표시한다.)
-v : 패턴을 제외한 내용만 출력
-w : 단어 단위로 검색 (ro 를 검색하면 root 는 찾지않는다.)
-c : 매칭되는 줄 수 표시
-ㅣ : 매칭되는 패턴이 있는 파일 이름 출력

패턴

정규표현식 : 어떤 문자를 표현할 때 다양한 특수문자를 이용해 표현하는 방식
^ : 줄의 시작을 지정 (해당 패턴이 줄의 시작인 경우 캡쳐) ex)^root
$ : 줄의 마지막 지정 ex)root$
. : 한 문자 대치 ex)r..t
* : 여러 문제 대치 ex)r*
[] : 패턴 중 한 문자 일치 ex)[rR]oot
[^] : 패턴 중 제외할 문자 지정 ex)[^T]oot :: T를 제외한 oot 부분 출력

특수문자들을 단순한 문자로만 인식 fgrep

fgrep [옵션] [패턴] [파일이름]
만약 문서에 특수문자가 포함된 경우 여러 특수문자들은 정규표현식으로 인식되기 때문에
해당 정규표현식의 기능으로 검색이 될 수 있다.
이런 경우 fgrep은 여러 특수문자들(*,$,. 등)을 단순한 문자로 인식해서 문서 내에서 해당 특수문자를 찾을 때 사용할 수 있다.

디렉토리 내에서 검색 명령어 find

find [경로] [조건] [아규먼트] [행동]
[경로] : 어디를 기준으로 검색할 것인지 입력한다. 하위 디렉토리까지 검색
[조건] : 어떤 조건으로 검색할 것인지 입력한다.
[아규먼트] : 조건에 맞는 값을 입력해준다.
[행동] : 검색 결과를 어떻게 처리할 것인지 입력한다.
ex) find /-name file -exec rm -rf {}₩;
만약 행동은 빈칸으로 처리한다면 print 가 default로 입력된다.

조건

name : 이름으로 검색 type : 파일의 타입으로 검색, 디렉토리는 d,파일은 f
perm : 권한으로 검색
user : 소유자로 검색
size : 파일 크기로 검색, +는 이상, -는 이하, 단위는 512바이트
c 바이트, k 키로바이트, M 메가바이트, G 기가바이트
atime : 파일의 마지막 접근 시간으로 검색
mtime : 파일의 마지막 수정 시간으로 검색

행동

ls : 자세한 결과 출력
exec [명령어] {} ₩; : 검색한 파일을 특정 명령어로 실행
ex ) -exec rm -rf {} ₩; 제거하기