Ack neden tüm dosyaları varsayılan olarak yinelemeli olarak aramıyor?


3

Okuyabildiğim her şeyden

ack-grep foo

"foo" terimi için geçerli dizindeki ve alt dizinlerdeki tüm dosyaları aramalısınız.

Ancak, alabileceğim en yakın

ack-grep foo *

Geçerli dizinde "foo" olan tüm sonuçları döndürür.

İlk komut neden çalışmıyor? ack1.92 sürümünü kullanıyorum .


Sizin mi ack-grepaynı ack? Eğer öyleyse, hangi versiyon?
slhck

Hala ack-grep'e bağladım.
Verison

Kendiniz mi ACK_OPTIONShazırladınız ackrcmı? Yani --noenvset ile çalışıyor mu?
slhck

Hiçbir şey echo $ACK_OPTIONS| ~/.ackrcÇıkmıyor | ack-grep --noenv stuffiken, çalışmıyor ack-grep --noenv stuff *mu
theicfire

Genelde, komut satırında ack, yani ne yaptığınız ile ilgili dosyaları belirtmezsiniz ack foo *. Dosyaları belirlerken, o zaman ack'e, daha düşük dizinlere özyinelemeyi içeren sihirli dosya seçimlerinin hiçbirini yapmamasını söylersiniz.
Andy Lester,

Yanıtlar:


3

O aslında ne olduğuna bağlıdır foo, yoksa söylediler eğer ack-grepetmek tanımak bir olaraktype

# using  ack-grep Version 1.92

mkdir junk; cd junk

echo 'hello' > wango
ack-grep hello       #  nothing found, because 'wango' is an unknown type

echo -e '#!/bin/bash\nhello' > wango
ack-grep hello       #  found, because '#!/bin/bash` identifies a known type
 wango
 2:hello

echo 'hello' > wango
ack-grep -a hello    #  found, because '-a' selects all files (almost all)
 wango
 1:hello

itibaren man ack-grep

ack-grep, aradığı dosyalar hakkında akıllıca. Hem dosyadaki uzantıyı hem de bazı durumlarda dosyanın içeriğini temel alarak belirli dosya türlerini bilir. Bu seçimler --type seçeneğiyle yapılabilir.

Dosya seçimi olmadan, ack-grep yalnızca tanıdığı türde dosyaları arar. Foo.wango adlı bir dosyanız varsa ve ack-grep bir .wango dosyasının ne olduğunu bilmiyorsa, ack-grep onu aramaz.

-A seçeneği, ack-grep'e türünden bağımsız olarak tüm dosyaları seçmesini söyler.

Bazı dosyalar ack-grep tarafından asla -a ile seçilmez:

· Yedek dosyalar: # * # ile eşleşen veya ~ ile biten dosyalar.

· Coredumps: Çekirdek eşleşen dosyalar. \ D +

Ancak, ack-grep, ne tür olursa olsun, her zaman komut satırında verilen dosyaları arar. Ayrıca, -u seçeneğini belirleyerek tüm dosyalar aranacaktır.


1
Korku veren! Teşekkürler; Bu sorunla karşılaştım çünkü coffeescript ve gidon üzerinde ack kullanıyordum; Bu dosyaların özel olduğunu bilmiyordum. Hızlı bir çözüm buldum: effectif.com/coffeescript/using-ack-with-coffeescript
theicfire 7:12
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.