본문 바로가기
Language & Framework & GIT/LINUX

[LINUX] find, grep의 차이

by veganwithbacon 2023. 6. 29.
반응형

이래저래 리눅스 사용을 많이 하게 되다보니, 정리가 필요하다 느꼈다.

 

🔔find

find파일을 찾는 기본 명령인데 특정 이름의 파일 및 특징을 가진 파일을 찾는 명령어다.

 

  find [PATH]

-> 해당 PATH에 있는 파일 및 디렉토리 표시

 

  find . -name [FILE]

-> 현재 디렉토리 아래 모든 파일 및 하위 디렉토리에서 파일 검색

 

  find . -name " *PP* "

-> PP가 포함된 파일 검색

 

  find . -name  " *.txt" -delete

-> txt 확장자를 가진 모든 파일 검색 및 삭제

 


🔔grep

grep문자열을 찾는 기본적인 명령어인데 텍스트 및 로그 파일에서 특정 문자열을 찾는 명령어다.

 

  grep 옵션 "문자열"[파일명]
-i : 대소문자 구분 X
-w  : 문자와 한 단어로 일치해야 출력
-l : 문자가 들어간 파일 이름을 출력
-r : 하위 디렉토리에서도 문자 검색
-A : 특정문자 아래 추가로 여러행 출력

  grep "^문자열"
-> 문자열로 행이 시작되는 경우 출력

 

  grep "문자열&" 
-> 문자열로 행이 끝나는 경우 출력

 

  grep -A2 "문자열" 
-> 해당 문자열이 들어간 행을 포함하여 아래 2행을 출력

 

  grep "문자열" *
-> 현재 위치의 모든 파일에서 특정 문자열 출력

 

  grep "문자열"[파일명] >> [저장할 파일명]
-> 문자열을 찾아 따로 파일에 저장

 

▶ find & grep 사용방법

  find . -name "*.c" -exec grep -n "include" {} \;
-> .c란 파일들 중 "include'를 포함한 행 출력

 

  find . -type f|xargs grep "string"
-> 현재 디렉토리위치에서 하위디렉토리를 포함하여 string이란 문자열을 포함한 파일검색


  grep string 'find . -name \*\cpp'
-> 파일 이름과 내용을 출력

 

  grep -l string 'find . -name \*\cpp'
-> 파일 이름만 출력


- ' | '  : 파이프 라인의 뜻은 왼쪽 프로그램의 실행 결과를 오른쪽 프로그램의 입력으로 공급하는 것

- zgerp : 압축된 파일에서 문자열을 찾을때 사용하는 명령어 

- xargs : 파이프 ' | '를 통해 입력 받아서 xargs 뒤에 있는 명령어한테 파라미터를 주는 것

반응형

댓글