Grep ile temel filtreleme

Terminalde en çok kullandığım komutlardan biri grephatta daha fazla cd o ls.

grep Pek çok seçeneği var ve farklı olanaklar sunuyor, ancak mümkün olan en geleneksel yolu kullanıyorum, ancak açıklayarak başlayalım Grep nedir?

grep basitçe bir filtredir, ilan ettiğimiz filtreyle eşleşen satırları gösteren bir komuttur.

Örneğin, sistemimizde dosya var / usr / share / doc / bash / SSS ve bu dosyanın içeriği:

Dosya içeriğini görüntüleyin

İçeriği terminaldeki komutla listelemek isterseniz kedi (evet kedi, kedi hehe gibi) yapabilirler:

cat /usr/share/doc/bash/FAQ

Şimdi, bu dosyanın yalnızca sürümden bahseden satırını listelemek istediğimizi varsayalım, bunun için grep kullanıyoruz:

cat /usr/share/doc/bash/FAQ | grep version

Bunu terminale koymak size sadece o dosyada "version" içeren satırı gösterecek, artık o kelimeyi içermeyen herhangi bir satırı göstermeyecektir.

Sürüm satırı dışında her şeyi göstermek istersem ne olur?

Yani, size açıkladığım şekilde, filtreye uyan her şey gösterilecek, şimdi size her şeyin nasıl görüneceğini göstereceğim dışında filtreyle ne eşleşiyor:

cat /usr/share/doc/bash/FAQ | grep -v version

Farkı görüyor musun? ... sadece ekleyerek -v zaten bir fark yaratıyor 😀

Yani koyarlarsa grep size yalnızca filtreyle neyin eşleştiğini gösterir, ancak grep -v size filtre dışında her şeyi gösterecektir.

İşte burada gönderi bitiyor, şimdi belki onu küçümseyebilecekleri bir başka ipucu ama ... grep'in ne kadar yararlı olabileceği hakkında hiçbir fikirleri yok, bu cidden bir cankurtaran.

selamlar


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   DMoz dijo

    Şüphesiz çok yönlü bir komut, onu kullanmayı öğrendiğinizde hayatınızı kolaylaştırır =) ...

  2.   Ölçeklibur dijo

    Merhaba! .. ..gerçekten çok kullanışlı bir komut .. benim durumumda oldukça kullanıyorum ..

    Basit bir örnek, örneğin, dpkg -l | grep 'paketi' (debian'a dayalı dağıtımlar durumunda), bu paketin kurulu olup olmadığını bilmek için kullanılır.

    Bu araçları tüm topluluğumuza vermek harika 😉

    1.    KZKG ^ Gaara dijo

      Çok teşekkür ederim 😀
      Gerçekten, grep hayal gücümüz hahahaha kadar güçlüdür, awk (ve kesik) ile birlikte gerçekten harikalar yaratırlar * - *

      Yakında terminal çalışması için birkaç ipucu daha koyacağım 😉
      Selamlar ve yorumunuz için teşekkürler.

      Not: E-postanız ilginç LOL !!

  3.   Hexborg dijo

    Çok iyi!! Evet, kesinlikle grep, terminali kullanmayı seven herkes için hayat kurtarıcılardan biridir. Sadece birkaç nokta: Gerçekten cat komutunu kullanmanıza gerek yok. Dosya adını şu şekilde bir grep parametresi olarak koyabilirsiniz:

    grep sürümü / usr / paylaşım / doc / bash / SSS

    Ayrıca, yapamasa bile, aşağıdaki gibi bir şey yaparak komut girişini yeniden yönlendirme seçeneği her zaman olacaktır:

    grep sürümü </ usr / share / doc / bash / FAQ

    İkincisi, herhangi bir komutla yapılabilir, bu nedenle bir komutun girişine bir dosya göndermek için hiçbir zaman cat'i kullanmak gerekmez.

    Cat yerine yeniden yönlendirme kullanmak, kabuğun daha az işlem başlatmasına ve dolayısıyla daha az kaynak tüketmesine neden olur. Bu kayda değer bir fark değildir, ancak iyi uygulama olarak kabul edilir.

    Öte yandan, normal ifadeleri kullanırken grep gerçekten faydalı oluyor ... Normal ifadeler hakkında bir gönderi yaparak yardımcı olmak isteseydim, ne yapmam gerekirdi? WordPress masaüstünden yeni bir gönderi eklemek yeterli mi?

    1.    KZKG ^ Gaara dijo

      Oh ilginç, her zaman kedi HAHAHAHA ile kullanmaya alıştım, bahşiş için teşekkürler 😀

      1.    Hugo dijo

        Grep ile filtreleri biraz daha basit hale de getirebilirsiniz, örneğin:

        grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt

        Bu, temel olarak aradığımız terimi içeren satırları (herhangi bir büyük ve küçük harf kombinasyonunda olabilir) artı ondan önceki üç satırı ve sonraki üç satırı gösterir, sonuçları farklı bir renkte vurgular, satır numaralarını koyar sonuçlarda bulunur ve bu durumda "dosyam.txt" dosyasında ile biten tüm satırların aranmasına izin veren genişletilmiş düzenli ifadelerin etkinleştirilmesine olanak tanır. desdelinuxlinux'a veya düz linux'a doğru (uç noktası olan veya olmayan).

        Bu arada, normal ifadeler çok fazla esneklik sunar ve özgür yazılım tutkusu olan her iyi "geek" onları kullanmayı öğrenmelidir, hehe.

  4.   ejderha dijo

    .Ta.gz'deki tabletler için zgrep kullanmak da mümkündür, eski günlükleri gözden geçirmek istediğimizde çok kullanışlıdır. Saygılarımızla

  5.   jhon dijo

    Selam. gönderi için teşekkürler. Bana öyle geliyor ki grep kullanarak, görünen satırlarda yazdığım kelime renklenmiyor. (genellikle böyledir) [örnek: grep cat dosya.txt]
    çizgiler ve kedi görünür, ancak kedi onu ayırt etmek için belirli bir rengi çevirmez
    (görürseniz benim üniversitemin ccompus'unda)
    Bu seçeneği nasıl etkinleştirebileceğimi biliyor musun?
    Lütfen bana cevap verebilir misin? eposta adresim sps-003@hotmail.com

    1.    fdy nb dijo

      arkadaş, kedi tırnak içinde "kedi" veya "kedi" ve ardından aramak istediği dosyanın adını yazmalıdır.

  6.   enrique dijo

    Merhaba arkadaşım, kesinlikle haklısın, harika bir kullanışlılık hissin var. Şu andan itibaren grep, favori komutlar listemde ilk sıraya koyuyorum.
    Saygılarımızla

  7.   Scanjura dijo

    Ve çalışanlara maaşla filtrelenmiş olarak göstermek nasıl olurdu?