Обновлено @ ответ Шона для Ack 2
так как они убрали два флага, которые @Sean использовал
ack 2 примечания к выпуску говорят:
Опция -G была удалена. Два шаблона в командной строке было
неоднозначный. В этой командной строке:
ack1 -G filepattern -i -w searchpattern
какой шаблон изменяет -i и -w? Теперь, с ack 2.0, вы можете использовать
новый -x для передачи имен файлов из одного вызова ack в другой.
ack2 -g -i filepattern | ack2 -x -w searchpattern
и флаг -u (неограниченно) больше не нужен. Итак, что вы хотите:
ack -g "\.htaccess" | ack -x pattern
Или, в этом отношении, просто используйте find для генерации списка файлов (особенно полезно, чтобы найти файл в точечной папке):
find **/.hidden/complex-path/* | ack -x pattern