여러 파일의 내용을 Grep합니다.

여러 파일의 내용을 Grep합니다.

내 운영 체제는 Sun Solaris입니다.SunOS sintscdldmu001 5.11 11.3 sun4v sparc sun4v

주문을 했는데 alter database backup controlfile to trace;깜빡했네요.

파일의 내용을 제어해야 할 때 검색을 시작했습니다. 이제 나는 다음과 같은 것을 원합니다grep *.trc | grep -i 'CONTROLFILE'

제어 파일 내용이 있는 파일을 찾는 올바른 명령은 무엇입니까?

답변1

grep -l

그러면 파일 이름과 일치하는 줄이 인쇄됩니다. 여러 일치 항목에 대해 파일 이름을 반복하지 않습니다.

찾고 있는 문자열이 CONTROLFILE인 경우 다음을 수행할 수 있습니다.

grep -li CONTROLFILE /path/to/trcfiles/*

그러면 CONTROLFILE 문자열과 일치하는 행이 포함된 파일 이름이 출력됩니다. 문자열이 .trc 파일에 있고 그것이 반환되기를 원하는 전부인 경우 명령 끝으로 파이프하십시오.

grep -li CONTROLFILE /path/to/trcfiles/* | grep *.trc

답변2

"controlfile" 키워드로 나머지 파일을 검색하려면 다음 명령을 사용하십시오. -i는 검색에서 대소문자를 구분하지 않습니다.

grep -i "controlfile" *.trc

하지만 컨트롤 파일이 나머지 파일들 중에서 검색할 패턴이 있는 파일인 경우 컨트롤 파일의 내용을 다음과 같이 전달해야 합니다.

grep -f controlfile *.trc

나머지 trc 파일에서 제어 파일의 내용을 검색합니다.

파일이 있는 동일한 폴더에 있는 경우 *.trc를 마지막 인수로 전달하고, 그렇지 않으면 그에 따라 절대/상대 경로를 제공하십시오. 해당 경로부터 시작하여 나머지 폴더에 있는 파일을 반복적으로 검색하려면 -r 매개변수를 사용하십시오.

답변3

아래에 표시된 방법을 사용하여 검색 텍스트가 포함된 파일을 식별할 수 있습니다.

grep -il <control file entry> <path where   trc files are located> *

관련 정보