2009-04-07 4 views
4

다음 입력 명령을 사용하여 입력 텍스트 패턴을 가진 모든 파일을 찾아서 표시합니다.find 명령을 사용하여 텍스트 패턴이있는 모든 파일을 검색합니다.

찾기. 타입 F -print | xargs는 그렙 -n "패턴"

나는 많은 프로젝트가 각각이

어떻게 '메이크'(어떤 파일 확장자 단지 '메이크')라는 이름으로 자신의 메이크 파일을 가지고 폴더가 있습니다. 위의 명령을 사용하여 모든 프로젝트 폴더에있는 Makefile이라는 파일에서만 특정 패턴을 검색합니까?

-AD.

답변

6

-print (적어도 GNU find 구현시). -name 인수를 사용하면 파일 이름 패턴을 지정할 수 있습니다. 따라서 명령은 다음과 같습니다

find . -name Makefile | xargs grep pattern

1
find . -type f -name 'Makefile' | xargs egrep -n "pattern" 

사용 egrep을 사용하면 매우 긴 경로

중복의가있는 경우 : this

1

당신이 알면 디렉토리 경로에 공백이나 이상한 문자가있는 경우 null로 끝나는 방법을 사용해야합니다.

find . -name Makefile -print0 | xargs -0 grep pattern 
1

당신은 -exec를 사용하여 xargs의 사용을 방지 할 수 있습니다 egrep

find . -type f -name 'Makefile' -exec egrep -Hn "pattern" {} \; 

-H를 출력에 일치하는 파일의 전체 경로를.

0

ff 명령 즉, ff -p. 형식을 사용할 수 있습니다. 예를 들어 FF -p *를 들어

0

된 .txt

우리가 여러 명령을 결합해야 큰 디스크 공간을 차지하는 큰 파일을 찾습니다.

find . -type f | xargs du -sk | sort -n | tail; 
관련 문제