2016-09-07 1 views
0

"class"와 "btn"과 같은 두 개의 문자열이있는 경우 전체 디렉토리에서이 두 문자열을 검색 할 수있는 linux 명령은 무엇입니까?linux를 사용하여 디렉토리에서 다중 문자열 찾기.

더 구체적으로 말하면, .php 파일이 많은 폴더가 거의없는 디렉토리가 있다고 가정 해 보겠습니다. 나의 목표는 그. php 파일 전체를 검색 할 수 있도록하여 "class"와 "btn"이 한 줄에 들어있는 파일 만 출력하도록하는 것입니다. 바라기를 이것은 상황을 더 분명하게 해줍니다.

감사합니다,

+0

[Grep에서 string1과 string2의 디렉토리에있는 모든 파일 검색] (http://stackoverflow.com/questions/4275900/grep-search-all-files-in-directory-for-string1-and-string2)의 가능한 복제본) –

답변

0

나는 일반적으로 다음을 사용하여 내 소스 코드 내의 문자열을 검색합니다. 문자열을 검색하고 해당 텍스트가 나타나는 정확한 행 번호를 표시합니다. 소스 코드 파일에서 문자열 검색에 매우 유용합니다. 출력을 다른 grep 및 필터 출력으로 항상 파이프 할 수 있습니다.

grep -rn "text_to_search" directory_name/

예 :

$ grep -rn "angular" menuapp 
$ grep -rn "angular" menuapp | grep some_other_string 

출력은 다음과 같습니다

menuapp/public/javascripts/angular.min.js:251://# sourceMappingURL=angular.min.js.map 
menuapp/public/javascripts/app.js:1:var app = angular.module("menuApp", []); 
0
grep -r /path/to/directory 'class|btn' 

grep는 파일에서 문자열을 검색하는 데 사용됩니다. -r 플래그를 사용하면 디렉토리의 모든 파일을 반복적으로 검색합니다.

0

또는 대안 파일을 "확인"에 find 명령을 사용하여 grep를 사용하는 대신 검색 할 재귀 모드 :

find /path/to/your/directory -type f -exec grep "text_to_search" {} \+; 
관련 문제