Section 1.5: 파일 이름과 내용에 해당하는 패턴을 통해 파일 검색하기
Linux 에서 커맨드라인 (쉘) 을 사용하는 사용자들이 빈번하게 수행하는 작업 중 하나는 바로 파일 혹은 디렉토리를 그 이름이나 포함하는 내용을 기준으로 검색하는 것이다. 이러한 작업을 수행하기 위해서는 두가지 명령어가 유용하게 사용된다:
파일을 이름으로 검색하기
find /var/www -name '*.css'
위 명령어는 /var/www
디렉토리 아래의 파일 중 .css
로 끝나는 모든 파일들의 전체 경로 및 파일 이름을 출력하여 줄 것이다. 출력 예제는 다음과 같다:
/var/www/html/text-cursor.css
/var/www/html/style.css
추가적인 정보는 아래와 같이 확인할 수 있다:
man find
특정 문자열을 포함하는 파일들 검색하기
grep font /var/www/html/style.css
위 명령어는 주어진 파일 내에서 font
라는 패턴을 포함하는 모든 라인들을 출력해 줄 것이다. 출력 예제는 다음과 같다:
font-weight: bold;
font-family: monospace;
또다른 예제:
grep font /var/www/html/
위 예제 실행 시, 예상대로 동작하지 않을 것이다. 실제 수행 결과는 다음과 같다:
grep: /var/www/html/: Is a directory
의도대로 검색을 수행하기 위해서는 -R
옵션을 이용하여 grep
으로 하여금 재귀적으로 동작하도록 하여야 한다:
grep -R font /var/www/html/
위와 같이 입력 시, 아래 예제와 유사한 결과를 확인할 수 있을 것이다:
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css: font-weight: bold;
/var/www/html/style.css: font-family: monospace;
유의할 점은 grep
을 여러 파일들에 대하여 검색을 수행할 때, 검색된 각 라인의 앞에 파일 이름을 추가하여 출력해 준다는 것이다. 필요한 경우 -h
옵션을 이용하면 이러한 동작을 비활성화 할 수 있다.
추가적인 정보는 아래와 같이 확인할 수 있다:
man grep
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/GitBook/
반응형
'번역 > Linux Notes for Professionals' 카테고리의 다른 글
1.7: 파일과 디렉토리의 세부 정보 확인하기 (0) | 2020.06.18 |
---|---|
1.6: 파일 조작하기 (0) | 2020.06.17 |
1.4: 기본적인 리눅스의 유틸리티들 (0) | 2020.06.15 |
1.3: Hello World 출력하기 (0) | 2020.06.11 |
1.2: 파일 관리 명령어들 (0) | 2020.06.11 |