2014-03-28 3 views
1

foo을 검색하는 데 ack를 사용하려고하지만 현재 디렉토리와 모든 하위 디렉토리에있는 모든 Gemfile 파일에서만 사용하려고합니다. ack fooack에서 경로 패턴으로 검색하는 것은 매우 느립니다.

하지만이 지독하게 느린 : 모든 파일을 검색

미친 빠른 ack -g Gemfile | ack -x foo

후자의 명령은 기본적으로 사용할 수 없게하는 반환 25 초 정도 걸립니다.

내가 잘못 했습니까? 어떻게 (나는 약 --ruby--php을 알고 있지만 때로는 패턴 youself 지정하려면)를 Github의 프로젝트에서이 문제를보고 한 후

UPDATE

를 특정 파일의 용어를 검색하기 위해, 수정 큰 코드베이스 (https://github.com/petdance/ack2/issues/458)로 -g 옵션의 속도를 높이는 기능이 추가되었습니다. 다음 릴리스 (> 2.12)에 포함되어야합니다.

답변

1

ack 2.x를 실행중인 경우 Gemfile 용 파일 유형을 쉽게 만들 수 있습니다. 당신이 많은, 당신은 당신의 .ackrc에 --type-add=gemfile:is:Gemfile을 넣고 그냥 ACK 저자/관리자로서

ack --gemfile foo 

말할 수 그렇게한다면

ack --type-add=gemfile:is:Gemfile --gemfile foo 

, 좀 해요 원래 파이프 라인이 너무 오래 걸린다는 것에 우려를 표합니다. 시간이 있고 문제로 제출하려면 기꺼이 누군가가 그 이유를 살펴볼 수 있습니다. https://github.com/petdance/ack2/issues

+0

의견을 보내 주셔서 감사합니다. 필자는 Gemfile이 아닌 다른 파일을 검색 할 때 동일한 패턴을 사용하기를 원하기 때문에 Gemfile에 대한 파일 유형을 만들려한다고 생각하지 않습니다. 나는 Github에서 문제를 만들 것이다. :) –

+0

GitHub에서 https://github.com/petdance/ack2/issues/458에서 작성한 문제를 기반으로하고 아직 내 부분에 대한 조사가 없으면 gemfile 유형이 문제를 빠르게 처리 할 것이라고 생각합니다. 왜냐하면 ack는 파일 이름을보고 "오, 그래, 나는 다른 것을 확인할 필요가 없다"라고 말하기 때문이다. –

+0

자, 이제 Github 문제로 해결해 봅시다. 해결책을 찾았 으면이 SO 문제를 업데이트하겠습니다. –

관련 문제