Mac 터미널 명령 - 문자열 찾기 및 주변 줄 인쇄

Mac 터미널 명령 - 문자열 찾기 및 주변 줄 인쇄

나는 ack, sed, grep을 사용하여 특정 문자열에 대한 디렉토리의 파일을 검색하려고 시도했습니다. 비밀번호가 일반 텍스트로 나열되어 있는지 확인하기 위해 데이터베이스 파일을 조사하고 있습니다. 지금까지 다음 명령을 사용할 수 있었습니다: grep -Ri "search_string" /path_to_Folder

그러나 이는 해당 문자열을 포함하는 파일만 출력합니다. 한 단계 더 나아가 문자열 주위의 줄을 인쇄하여 각 파일을 검색할 필요가 없도록 하고 싶습니다.

이것이 의미가 있기를 바랍니다. 매우 감사합니다.

답변1

내가 올바르게 이해했다면 다음과 같습니다.

문자열 주위의 줄을 인쇄하세요.

-C다음과 같이 grep의 (컨텍스트) 옵션을 사용할 수 있습니다 .

grep -aRi -C 1 "search_string" /path_to_Folder

각 일치 항목에 대해 세 줄(일치 전 줄, 일치한 줄, 일치 후 줄)을 인쇄합니다.

데이터베이스 파일은 바이너리이므로 파일을 텍스트로 처리하려면 grep의 -a 플래그도 필요합니다.

실행 예시:

$ grep -aRi jeff *
a/b/c/i:jeff
a/b/i:jeff
a/i:jeff
i:jeff

그리고

$ grep -aRi -C1 jeff *
a/b/c/i-hi
a/b/c/i:jeff
a/b/c/i-bye
--
a/b/i-hi
a/b/i:jeff
a/b/i-bye
--
a/i-hi
a/i:jeff
a/i-bye
--
i-hi
i:jeff
i-bye

관련 정보