질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

여러 파일들 중 문자열 검색 명령어...

작성자 정보

  • 이대규 작성
  • 작성일

컨텐츠 정보

본문

 

find와 grep 명령어를 사용하여 가능합니다.

두가지 방법이 있는데

1. find, xargs 이용하여 하위 디렉토리 검색

특정한 디렉토리 내의 파일과 디렉토리가 공존할 때, grep 명령어는 디렉토리에 대해서는 검색하지 못하게 된다. 이 때, find 명령어와 xargs 명령어를 조합하여 사용하면 원하는 문자열을 포함하는 파일들을 검색할 수 있다. 예를 들어 syslog라는 문자열을 포함하는 파일들을 검색할 경우 아래와 같이 하면 된다.

# find . -type f | xargs grep -w syslog

 

2. grep 명령어를 사용하여 검색

1번과 같이 다른 명령어와 조합하여 사용하는 방법도 있지만 grep 명령어에서 제공하는 "-R" 옵션을 이용하여 지정한 디렉토리의 모든 하위 디렉토리까지 검색할 수 있다.

# grep -wR syslog *

 

참고로 다수개의 문자열을 검색할 경우에는 "egrep" 명령어를 이용하여 검색할 수 있다. 찾고자하는 문자열을 '( )'의 사이에 입력하며 "|"을 구분인자로 다수개의 문자열을 입력할 수 있다. 또는 "문자열패턴|문자열패턴"으로 사용할 수 있다. 예를 들면 /etc/passwd 파일에서 root, hanshin, linux 문자열을 동시에 찾는 경우 다음과 같다.

# egrep '(root|hanshin|linux)' /etc/passwd

여기서 egrep은 grep -E와 동일하다.

 

--SpecialList 이대규--

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,128 명
  • 현재 강좌수 :  36,153 개
  • 현재 접속자 :  214 명