2013-02-04 5 views
2

Windows 서버를 사용 중이며 GREP를 설치했습니다. 특정 패턴과 일치하거나 일치하지 않는 파일 이름 수를 계산해야합니다. 나는 실제로 나열된 모든 파일 이름을 필요로하지 않는다. 검색 할 트리 구조가 상당히 크기 때문에 최대한 많은 처리를 유지하려고합니다.패턴과 일치하는 파일 수를 GREP로 집계하십시오.

grep에 익숙하지 않지만 -l 옵션을 사용하여 주어진 패턴과 일치하는 파일 이름을 검색 할 수 있습니다. 예를 들어, 현재 폴더 및 모든 하위 폴더의 모든 MS 단어 파일을 검색하려면

$grep -l -r this *.doc* 

을 사용할 수 있습니다. 이렇게하면 모든 파일 목록이 나에게 반환됩니다. 나는 목록을 원하지 않는다, 나는 단지 그것이 얼마나 많은 것을 발견했는지를 원한다. GREP ... 또는 다른 도구로 가능합니까?

감사합니다. -r .DOC 모든 워드 파일을 검색하지 않지만 리눅스에

+0

'GREP은'일반적인 이름입니다; 이 도구의 버전을 정확히 말하면 도움이됩니다. – Bryan

+0

절대적으로 : Grep 2.5.4 for windows – user2040918

+0

방금 ​​-c 옵션에 대해 뭔가를 발견했습니다 : "grep 명령에 -c 옵션을 전달하여 정상 출력을 억제하고 각 입력 파일에 대해 일치하는 행의 수를 표시 할 수 있습니다." 이 옵션은 파일 이름 검색에도 사용할 수 있습니까? – user2040918

답변

4

당신은 "* 문서를"--include 사용합니다, 인쇄 라인

의 수를 얻을 수

grep -l -r this .doc | wc -l 

을 사용합니다.

그리고 당신은 화장실이없는 경우, 당신은 일치의 수를 계산하기 위해, 다시 GREP를 사용할 수 있습니다

grep -l -r --include "*doc" this . | grep -c . 
+0

감사합니다. 하지만이 솔루션은 (내가 이해하는대로) 그 패턴과 일치하는 모든 파일 이름을 파일에 쓸 것이다. 나는 모든 경기를 파일에 쓰지 않고 단지 카운트를 얻고 싶다. – user2040918

+0

아니요, 표준 출력으로 인쇄합니다 (예 : 메모리에 유지). 그러면 카운트를 인쇄합니다. – BeniBela

+0

감사합니다. – user2040918

관련 문제