Может быть принужден к поиску сложного проекта
ack - это отличный инструмент для поиска, особенно если все, что вы хотите найти, находится во вложенных каталогах под верхним каталогом проекта.
Я хотел бы найти несколько различных каталогов, чтобы найти весь мой проект.
Я мог бы сделать что-то вроде этого (есть еще 5 или 6 каталогов, которые я бы включил):
ack sometext . ../../Libraries/CMSIS/Device/ST/STM32F4xx/ ../../Libraries/CMSIS/
Я также попытался сделать это через make-файл, где я бы сделал ack фиктивной целью, вызвав ack в каталогах, о которых знает Makefile. Это работает, но синтаксис для его вызова неудачен:
gmake ack SVAL=sometext
где в Makefile:
ack:
$(ACK) $(SVAL) $(LIB_DIRS) $(DEVICE_DIRS) $(OTHER_PROJECT_DIRS)
В идеале было бы что-то, что я мог бы встроить в.ackrc, чтобы определить каталоги, которые проверяет поиск. У кого-нибудь есть любимый способ использовать ack для поиска в сложной структуре каталогов проекта?
2 ответа
Поскольку ack может делать то, что я хочу, с помощью сложной командной строки. Мой лучший ответ на сегодняшний день - встроить его в скрипт bash, поэтому я бы набрал:
./pack foobar
Чтобы найти весь мой проект для foobar.
Пакет скриптов будет выглядеть так:
#!/bin/bash
CONTEXT=-C1
c:/bin/ack $CONTEXT $* . ../../Libraries/CMSIS/Device/ST/STM32F4xx/ \
../../Libraries/CMSIS/
Еще предпочел бы решение.ackrc.
Sack: обертка для grep, ack и / или ag (серебряный искатель) http://sampsonchen.com/sack/
Может переключать вашу "среду поиска", используя предустановленные профили, настраивая флаги CL и заданную целевую (MULTIPLE) директорию начальной точки верхнего уровня