2013-07-19 7 views
3

FOOfoo.cc 파일에 "bar"라는 텍스트가 있습니다.ack을 사용하여 확장명이없는 내부 파일 검색

ack-grep에 확장자가없는 파일 (즉, FOO)을 검색하는 방법이 있습니까? 나는 이런 식으로 뭔가를 시도했습니다

:

foo.cc의 텍스트를 반환하지만 FOO를 제출하지
ack-grep --type-set=foo=FOO bar 

.

나는 또한 ACK-GREP은 .FOO 파일을 찾고 있다는
ack-grep --help-types 

보여줍니다 호출, 내 .ackrc 파일에 --type가 설정 한 추가했습니다.

답변

1

ack-grep-a (모두 검색)과 -G (주어진 정규식과 일치하는 검색 파일 만)을 결합 할 수 있습니다. 예 :

ack-grep -a -G '^[^.]+$' what-to-search-for 

트릭을해야합니다. 나를 위해

ack-grep --WANTED --type-set WANTED:match:^[^.]+$ what-to-search-for 

작품 : ACK2에서

당신은 사용자 정의 유형을 정의해야합니다.

+1

이 유일한 작품 '-a'와'-G' 플래그는 더 이상 필요하지 않기 때문에 ack 2.0에서 삭제되었습니다. –

+0

@AndyLester 좋은 지적, 고마워. ack2에 대해 업데이트되었습니다. (나는이 경우 ack1이 더 명백하다고 주장 할 것이다. 그러나 헤이.) –

1

ack 1.x로 원하는 것을 수행 할 수 없습니다. ack 2.0으로 업그레이드해야합니다.

ack 1.x에는 확장명이없는 파일을 처리 할 방법이 없었습니다. ack 2.0은보다 유연한 파일 지정 시스템을 추가합니다.

2

My ack의 버전은 2.12입니다. Bellow 명령어가 작동해야합니다. ACK 1.x 버전에 대한

$ ack --type-set make:is:Makefile --type=make string-pattern 

그래서 유사

,

$ ack --type-set foo:is:FOO --type=foo string-pattern 
관련 문제