Cara menggunakan ack untuk mencari nama file


15

Saya sudah mulai menggunakan ack yang jauh lebih cepat daripada grep. Namun menggunakan ack saya ingin mencari nama file daripada isi file. Apakah ada cara untuk melakukan itu?

Jawaban:


16

Gunakan alat yang tepat untuk pekerjaan yang tepat. Jika Anda ingin mencari nama file, gunakan 'temukan':

$ # search for all *.txt file in current directory
$ find . -iname "*.txt"

1
sangat benar. "Begitu Anda memegang palu di tangan Anda semuanya mulai terlihat seperti paku" :)
akira

2
Yah, ack (dan grep) lebih baik karena Anda tidak harus eksplisit tentang regex kecuali Anda mau. Saya biasanya hanya melakukanfind . | ack whatev.ext
Ehtesh Choudhury

Ini berfungsi untuk menemukan direktori juga.
Pratik Khadloya

1
find dan ack berperilaku berbeda karena ack menyaring banyak hasil secara default (isi direktori kontrol versi, objek yang dikompilasi dalam repositori sumber) yang akan dimasukkan oleh find. Palu terbaik tergantung pada hasil yang Anda inginkan.
Joshua Goldberg

1
Ini tidak menjawab pertanyaan ...
lajarre

23
ack -g REGEX

Cetak file di mana jalur relatif + nama file cocok dengan REGEX


1
tambahkan [^/]*$ke REGEX Anda untuk mencari dalam nama file saja
simon

7

Saya setuju masuk akal untuk menggunakan find jika Anda hanya mencari file * .txt. Namun, ack memiliki fitur pendeteksi tipe file yang kuat, sehingga Anda dapat menggunakannya

ack -f --perl

yang akan menemukan semua file Perl, berdasarkan nama file (* .pm, * .pl, * .t dan * .pod) dan baris shebang.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.