SORU
21 EKİM 2008, Salı


Grep --/--bazı dosyalarını grep ile değil, sözdizimi almamak kullanın

Dize "= foo" (tırnak işaretleri olmadan) metin dosyaları bir dizin ağacında arıyorum. Ortak Linux bir makinede, bash kabuk var:

grep -ircl "foo=" *

Dizinlerde de maç pek çok ikili dosyaları "foo=". Bu sonuçlar ilgili arama yavaşla, grep bu dosyaları (çoğunlukla JPEG ve PNG görüntüleri) arama atlamak istiyorum. Bunu nasıl yapacağım?

--=Desen biçimi nedir ve=vardır DESEN DESEN seçenekleri --ama dışarıda olduğunu biliyorum. Grep adam sayfa diyor ki:

--include=PATTERN     Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN     Recurse in directories skip file matching PATTERN.

Aramagrep vardır,grep dışlamak vardır,grep hariçve türevleri ile ilgili bir şey bulamadık

Eğer belirli dosyaları yalnızca grepping daha iyi bir yolu varsa, ben varım; soruna neden olan dosyaları hareketli bir seçenek değil. Sadece belirli bir dizin (dizin yapısı büyük bir karmaşa, her yerde her şey ile) arama yapamıyorum. Ayrıca, ortak araçları ile yapmam gereken bir şey yükleyemezsinizgrepya da ileri sürdübulabilirsiniz).

GÜNCELLEMELER: @Adam Rosenfield'In cevabı arıyordum sadece budur:

grep -ircl --exclude=\*.{png,jpg} "foo=" *

@rmeador'In cevabı da iyi bir çözüm

grep -Ir --exclude="*\.svn*" "pattern" *

Özyinelemeli olarak arama yapar, ikili dosyaları yok sayar, ve Subversion gizli klasörlerin içinde görünmüyor.(...)

CEVAP
21 EKİM 2008, Salı


Sözdizimi genelleme: kabuk kullanın

grep pattern -r --include=\*.{cpp,h} rootdir

--exclude sözdizimi aynıdır.

Yıldız kabuk (bu, --include="*.{cpp,h}" gibi alıntı gibi iyi çalışır) tarafından genişletilmiş engellemek için bir ters eğik çizgi ile kaçtı olduğunu unutmayın. Aksi takdirde, eğer herhangi bir dosya geçerli çalışma dizini eşleşen desen, komut satırı genişletmek olacak bir şey gibi grep pattern -r --include=foo.cpp --include=bar.h rootdir, sadece arama dosya isminde foo.cpp bar.h, ki büyük ihtimalle değil ne istediğini.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • DominicFear

    DominicFear

    30 Kasım 2006
  • HER0R

    HER0R

    16 Aralık 2007