문자열, 파일, 디렉토리 찾기 (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 |