ackGeçerli klasörde sadece metin aramak için söylemenin herhangi bir yolu var mı ? (veya bir max-depthseviye belirtiniz ?) Ve grep?
ackGeçerli klasörde sadece metin aramak için söylemenin herhangi bir yolu var mı ? (veya bir max-depthseviye belirtiniz ?) Ve grep?
Yanıtlar:
Kullanım -niçin no-recurse:
$ ack -n foo
grepvarsayılan olarak özyinelemeli değildir ve -rbayrak özyinelemeli arama yapmak istiyorsanız kullanmanız gerekir .
Geçerli dizini grepaşağıdaki gibi arayabilirsiniz :
$ grep -- foo *
-Exec argümanı ile çift bulabilirsiniz. örnek:
find . -maxdepth 1 -exec grep foo {} \;
Bu ölçeklenebilir, yani -maxdepth 2
-maxdepth 1) ölçeklenebilirdi. Örneğin -maxdepth 2. Yaptığınız düzenlemeyi nasıl tanımlayacağımı bilmiyorum.
-maxdepth) taşınabilir / standart sözdizimi olmadığını (sadece GNU ve bazı BSD'ler) açıklığa kavuşturmak isteyebilirsiniz . Ayrıca, burada kullanmanın bir anlamı yoktur \;( grepdosya başına bir tane çalıştırın ). Kullanım grep -H foo {} +(GNU özel) veya grep foo /dev/null {} +(standart) Dosyanın adı her zaman yazdırılır yapmak. -maxdepth 2find . -path './*/*' -type d -prune -o -type f -exec ...
.verecektir . Bir eklemek isteyebilirsiniz için (GNU grep varsayarak) ya da daha iyi eklemek için daha iyi ya da (ya GNU'yu varsayarak muhtemelen istemiyorum gibi) olmayan normal dosyaları okumak için. -mindepth 1grep-r-d skipgrep! -type dfind-type f-xtype ffindgrep
grep -Hinbu yaklaşımı kullanmaya meyilliyim, böylece dosya adını ve olayın gerçekleştiği çizgiyi görebiliyorum.
-nhiçbirinin tekrarlanmaması dışında bir derinlik maksimum seçeneği yoktur.