2013-10-25 1 views
0

ack는 특히 찾기를 원하는 모든 것이 최상위 프로젝트 디렉토리 아래의 중첩 된 디렉토리에있는 경우 검색에 훌륭한 도구입니다.복잡한 프로젝트를 검색하도록 강제 할 수 있습니까?

전체 프로젝트를 검색하기 위해 여러 가지 다른 디렉토리 트리를 검색하고 싶습니다.

나는 이런 식으로 뭔가를 할 수있는 (내가 거기 포함 것 5 또는 6 이상의 디렉토리가됩니다) :

ack sometext . ../../Libraries/CMSIS/Device/ST/STM32F4xx/ ../../Libraries/CMSIS/ 

을 나는 또한 내가 가짜 ACK 만들 것 메이크를 통해 그 일을 시도했습니다 타겟, Makefile이 알고있는 디렉토리에서 ack를 호출한다. 이것은 작동하지만, 그것을 호출하는 구문은 불행한 일이다 :

gmake ack SVAL=sometext 

어디 메이크 : 이상적으로

ack: 
    $(ACK) $(SVAL) $(LIB_DIRS) $(DEVICE_DIRS) $(OTHER_PROJECT_DIRS) 

는, ACK 디렉토리를 정의하는 나는 .ackrc에 포함 수있는 일이있을 것 검색합니다. 복잡한 프로젝트 디렉토리 구조를 검색하기 위해 누구나 좋아하는 방법을 사용하고 있습니까?

+0

다시 말해서,'ackrc '파일에 디렉토리를 설정하고 명령 행에서 다시 쓰지 않고'ack'를 읽어들이는 방법을 찾고 있습니다. 그런가요? – Birei

+0

맞습니다. 내 이해, 그래, 그 대답은 당신에게 .ackrc를 통해 특정 디렉토리를 무시하는 방법을 제공하지만 그 반대는 아닙니다. – loneRanger

+0

글쎄, 당신이 찾고있는 것을 달성하는 방법을 모르겠지만'-G REGEX' 옵션을 사용하면 매우 강력한 perl 정규 표현식을 사용하여 포함 할 디렉토리를 선택할 수 있습니다. 모든 디렉토리에 공통 경로가 있으면 작업 할 수 있습니다. – Birei

답변

2

ack는 복잡한 명령 행과 함께 내가 원하는대로 할 수 있기 때문에. 나의 가장 좋은 해답은 bash 스크립트에 그것을 포함시키는 것이다 :

./pack foobar 

foobar에 대한 전체 프로젝트를 검색한다.

스크립트 팩은 다음과 같을 것이다 :

#!/bin/bash 
CONTEXT=-C1 
c:/bin/ack $CONTEXT $* . ../../Libraries/CMSIS/Device/ST/STM32F4xx/ \ 
../../Libraries/CMSIS/ 

는 아직도 .ackrc 솔루션을 선호하는 것이다.

0

자루 : 그렙, ACK 및/또는 AG (실버 수색자) http://sampsonchen.com/sack/

당신`의 CL 플래그 및 미리 설정된 목표를 설정 환경 '사전 설정 프로파일을 사용하여 검색 (다중) 상단을 전환 할 수 래퍼 -level starting-point directorieS

관련 문제