Gdy nie przekazujesz nazwy pliku do potwierdzenia, działa on na wbudowanym domyślnym zestawie plików, który wyklucza nierozpoznane pliki binarne. Jeśli podasz nazwy plików, przeszuka wszystkie przekazane pliki. To wyjaśnia różnicę między ack fooi ack foo **.
ack 1
W ack 1.x użyj flagi, -aaby powiedzieć ack, aby nie pomijał plików, których typu nie rozpoznaje.
Możesz utworzyć alias, jeśli chcesz tę flagę częściej niż nie: dodaj linię alias ack='ack -a'w swoim ~/.bashrclub ~/.zshrc. Jeśli skonfigurujesz ten alias i chcesz dzwonić ackbez opcji, zadzwoń \ack(odwrotny ukośnik wyłącza rozwijanie aliasu). Alias nie ma wpływu na skrypty, tylko interaktywne powłoki.
Możesz też dodać -aopcję do swojego ~/.ackrc.
Dopasowania w plikach binarnych zostaną wyświetlone jako „Dopasowania pliku binarnego test1 dopasowania”. Nie ma sposobu, aby wyłączyć to zachowanie bez modyfikacji samego Ack (przynajmniej dodania wtyczki).
ack 2
W wersji 2.0 -aopcja została usunięta. Zamiast tego możesz zdefiniować typ pasujący do wszystkich plików i użyć -kopcji, aby potwierdzenie obejmowało wszystkie pliki tego typu. Zauważ, że typy plików są przetwarzane w nieprzewidywalnej kolejności, ponieważ spowoduje to, że losowy zestaw typów binarnych będzie przetwarzany jako zwykły zamiast zwykłego typu.
ack --type-set='all:match:.*' -k foo
W ten sposób dopasowania są drukowane nawet dla plików, które inaczej wyglądałyby na binarne. Jak wyżej, możesz dodać te opcje do aliasu lub do swojego .ackrc.