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 foo
i ack foo **
.
ack 1
W ack 1.x użyj flagi, -a
aby 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 ~/.bashrc
lub ~/.zshrc
. Jeśli skonfigurujesz ten alias i chcesz dzwonić ack
bez 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ć -a
opcję 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 -a
opcja została usunięta. Zamiast tego możesz zdefiniować typ pasujący do wszystkich plików i użyć -k
opcji, 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
.