서버 Server

문자열, 파일, 디렉토리 찾기 (find와 grep활용)

은둔한량 2013. 2. 18. 15:08
반응형

문자열, 파일, 디렉토리 찾기 (find와 grep활용)

리눅스를 사용하면서 문자열을 가지고 놀려니 참으로 힘들다.


 

grep을 이용하여 문자열을 찾아보자

문법 : grep [OPTION]... PATTERN [FILE] ...

   1 : grep -R "문자열" ./ (현재디렉토리에서 문자열을 찾는다, 하위디렉토리포함)

   2 : grep -Rw "문자열" ./ (1번과 같으나 정확히 일치하는 문자열만)

   3 : grep -Ril "문자열" * -r 2> /dev/null (문자열이 들어간 화일찾기, 대소문자 구분안함)


find를 이용하여 문자열을 찾아보자

문법 : Usage: find [path...] [expression]

   1 : find ./ -exec grep -l "문자열" {} \; 2> /dev/null (문자열찾기)

   2 : find ./ -exec grep -il "문자열" {} \; 2> /dev/null (대소문자구분안함)

   3 : find ./ -exec perl -pi -e 's/찾는문자/바꿀문자/g' {} \; 2> /dev/null (문자열찾운후 치환)


find 를 이용하여 파일찾기

   1 : find / -name 파일명 -type f (파일찾기)

   2 : find / -name 파일명 -type d (디렉토리찾기)

   3 : find / -iname 파일명 -type d (대소문자 구분안함)

   4 : find . | xargs grep "파일명" (하위 디렉토리에서 모든화일 찾기)

 

 


1. 현재 디렉토리(하위 디렉토리포함) 내에서 파일 내용에 "특정단어" 들어간 파일 찾기

find ./ -type f | xargs grep "dboard_comment"

 

2. 현재 디렉토리(하위 디렉토리포함) 내에서 파일 내용에 "특정단어" 들어간 파일 찾는데 대소문자 구분 안하기

find ./ -type f | xargs grep -i "특정단어"

 

3. 현재 디렉토리(하위 디렉토리포함) 내에서 파일 내용에 "특정단어" 들어간 파일 찾는데 대소문자 구분 안하고 파일 목록 보여주기

find ./ -type f | xargs grep -il "특정단어"

 

4. 이하동문 + 특정 확장자 제외하기

find ./ -type f  ! -name "*.class" | args grep -il "특정단어"

 

5. 이하동문 + 결과물 파일로 내보내기

find ./ -type f ! -name "*.class" | args grep -il "특정단어" > find_list.txt

 

반응형

'서버 Server' 카테고리의 다른 글

리눅스에서 apm설치  (0) 2013.09.05
cron 설명  (0) 2013.02.25
Linux vi에서 한글파일이 깨져 보일 경우  (0) 2013.02.18
shell 에서 ftp 접근  (0) 2013.02.18
리눅스 파일 내용 찾기  (0) 2013.02.18