Dosya adını aramak için ack nasıl kullanılır


16

Grep'ten çok daha hızlı olan ack kullanmaya başladım. Ancak ack kullanarak dosya içeriği yerine dosya adı aramak istiyorum. Bunu yapmanın bir yolu var mı?

Yanıtlar:


16

Doğru iş için doğru aleti kullanın. Dosya adını aramak istiyorsanız, 'find' kullanın:

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

1
çok doğru. "elinize bir çekiç tutun kez her şey bir çivi gibi görünmeye başlar" :)
akira

2
Ack (ve grep) daha güzel çünkü istemediğiniz sürece regexes hakkında açık olmak zorunda değilsiniz. Genellikle sadecefind . | ack whatev.ext
Ehtesh Choudhury

Bu, dizinleri bulmak için de çalışır.
Pratik Khadloya

1
find ve ack farklı davranır çünkü ack varsayılan olarak bir çok sonucu filtrelediğinden (sürüm kontrol dizinlerinin içeriği, kaynak havuzdaki derlenmiş nesneler) find tarafından dahil edilir. En iyi çekiç, istediğiniz sonuçlara bağlıdır.
Joshua Goldberg

1
Bu soruya cevap vermiyor ...
lajarre

24
ack -g REGEX

Göreli yol + dosya adının REGEX ile eşleştiği dosyaları yazdırın


1
[^/]*$yalnızca dosya adında aramak için REGEX'inize ekleyin
simon

7

Yalnızca * .txt dosyalarını arıyorsanız bul özelliğini kullanmanın mantıklı olduğunu kabul ediyorum. Ancak ack, güçlü dosya türü algılama özelliklerine sahiptir, böylece

ack -f --perl

hem Perl dosyalarını hem dosya adına (* .pm, * .pl, * .t ve * .pod) ve shebang satırına göre bulacaktır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.