Якщо ви не передаєте ім'я файлу ack, він працює на вбудованому наборі файлів за замовчуванням, який виключає нерозпізнані бінарні файли. Якщо ви передаєте імена файлів, він здійснює пошук у всіх переданих вами файлах. Цим пояснюється різниця між ack foo
і ack foo **
.
ак 1
У додатку 1.x використовуйте прапор, -a
щоб сказати аку не пропускати файли, тип яких він не розпізнає.
Ви можете зробити псевдонім, якщо бажаєте цього прапора частіше, ніж ні: додайте рядок alias ack='ack -a'
у своєму ~/.bashrc
або ~/.zshrc
. Якщо ви налаштували цей псевдонім і хочете зателефонувати ack
без опції, зателефонуйте \ack
(зворотна косої риски відключає розширення псевдоніму). Псевдоніми не впливають на сценарії, лише на інтерактивні оболонки.
Крім того, ви можете додати -a
варіант до свого ~/.ackrc
.
Збіги у двійкових файлах будуть перераховані як "Бінарний тестовий файл1 відповідає". Немає можливості відключити цю поведінку без зміни самого Ack (принаймні додавання плагіна).
ак 2
У ack 2.0 -a
опція була видалена. Замість цього можна визначити тип, який відповідає всім файлам, і використовувати -k
опцію, щоб ack включав усі файли цього типу. Зауважте, що типи файлів обробляються в непередбачуваному порядку, це призведе до того, що випадковий набір бінарних типів обробляється як звичайний, а не як звичайний.
ack --type-set='all:match:.*' -k foo
Таким чином, сірники друкуються навіть для файлів, які інакше виглядали б бінарними. Як зазначено вище, ви можете додати ці параметри до псевдоніма або до свого .ackrc
.