Ketika Anda tidak memberikan nama file ke ack, ia beroperasi pada set file bawaan bawaan yang tidak termasuk file biner yang tidak dikenal. Jika Anda memberikan nama file, itu akan mencari di semua file yang Anda berikan. Ini menjelaskan perbedaan antara ack foo
dan ack foo **
.
ack 1
Di ack 1.x, gunakan flag -a
untuk memberi tahu ack untuk tidak melewatkan file yang tipenya tidak dikenali.
Anda dapat membuat alias jika Anda ingin bendera itu lebih sering daripada tidak: tambahkan baris alias ack='ack -a'
di ~/.bashrc
atau ~/.zshrc
. Jika Anda mengatur alias ini dan ingin menelepon ack
tanpa opsi, panggil \ack
(backslash menonaktifkan ekspansi alias). Script tidak terpengaruh oleh alias, hanya shell interaktif.
Atau, Anda dapat menambahkan -a
opsi ke ~/.ackrc
.
Kecocokan dalam file biner akan terdaftar sebagai "File biner test1 cocok". Tidak ada cara untuk menonaktifkan perilaku ini tanpa memodifikasi Ack itu sendiri (setidaknya menambahkan plugin).
ACK 2
Di ack 2.0, -a
opsi telah dihapus. Yang bisa Anda lakukan adalah mendefinisikan suatu tipe yang cocok dengan semua file, dan menggunakan -k
opsi untuk membuat ack memasukkan semua file dari tipe itu. Perhatikan bahwa jenis file diproses dalam urutan yang tidak dapat diprediksi, untuk hal ini akan menyebabkan serangkaian acak jenis biner diproses seperti biasa dan bukan tipe biasa.
ack --type-set='all:match:.*' -k foo
Dengan cara ini kecocokan dicetak bahkan untuk file yang jika tidak akan terlihat biner. Seperti di atas, Anda dapat menambahkan opsi ini ke alias atau ke .ackrc
.