디렉토리 이하 특정 문자열/한글 포함여부 찾기


프로젝트 전체 파일들을 대상으로 특정 문자열 혹은 한글이 포함되어 있는 부분을 찾거나, 파일명 들을 추출하려면 다음과 같이 shell을 활용해 보자.


사용법

아래와 같은 형식을 지켜주면 되겠다.

$ find . -name "파일명 또는 파일명 패턴" -print0 | xargs -0 egrep -l "검색어 또는 패턴"
$ find . -name "파일명 또는 파일명 패턴" -print0 | xargs -0 egrep "검색어 또는 패턴"

egrep 옵션 참고

egrep 뒤에 -l 옵션을 주면 파일명을 출력한다.

     -l, --files-with-matches
             Only the names of files containing selected lines are written to standard output.  grep will only search a file until a match has been found, making searches potentially less expensive.
             Pathnames are listed once per file searched.  If the standard input is searched, the string ``(standard input)'' is written.

활용 예

  • 전체 파일(하위 디렉토리 포함) 들 대상으로 한글이 포함된 파일명 출력하기

    $ find . -name "*.*" -print0 | xargs -0 egrep -l ".*[가-힣]+.*"
  • 전체 파일(하위 디렉토리 포함) 들 대상으로 한글이 포함된 파일명 + 내용 출력하기

    $ find . -name "*.*" -print0 | xargs -0 egrep ".*[가-힣]+.*"
  • 전체 파일(하위 디렉토리 포함) 들 대상으로 특정 문자열(예: password)이 포함된 파일명 출력하기

    $ find . -name "*.*" -print0 | xargs -0 egrep -l "password"
  • 전체 파일(하위 디렉토리 포함) 들 대상으로 특정 문자열(예: password) 포함된 파일명 + 내용 출력하기

    $ find . -name "*.*" -print0 | xargs -0 egrep "password"

댓글(0)

Designed by JB FACTORY