grep -rnw . -e "string_to_search"
이 명령은 위에서 언급한 입력 문자열을 받아들이고 해당 문자열을 포함하는 현재 디렉터리(점으로 표시)의 모든 파일을 나열합니다.
이 명령의 문제점은 파일 내용도 나열한다는 점인데, 이는 내 목적에는 필요하지 않습니다.
파일 이름만 있으면 됩니다. 이것을 달성할 수 있는 방법이 있나요?
아니면 이 작업을 최적화하는 더 효율적인 방법이 있습니까?
application.log_2023_07_*
예를 들어, 로그가 형식으로 저장되고 오늘의 로그가 형식으로 저장되는 7월의 로그에서만 이 텍스트를 검색해야 한다고 가정해 보겠습니다 application.log
.
이를 달성하는 더 좋은 방법이 있습니까?
답변1
grep
플래그 -l
는 패턴과 일치하는 파일 이름으로 출력을 제한합니다. -n
이 경우에는 쓸모가 없으므로 플래그를 제거할 수도 있습니다 .
grep -rlw . -e "string_to_search"
파일의 하위 집합에서만 검색하려면 -r
파일을 명시적으로 제거하고 나열하세요.
grep -lw -e "string_to_search" application.log_2023_07_*