Global düzenli ifade baskısı veya sadece grep, Unix ve Linux sistemlerinde en çok yönlü ve yaygın komutlardan biridir. Komut, tekli veya çoklu girdi dosyalarını ve eşleşen desen çizgilerini arar. Sonuç olarak, eşleşen çizgilerle standart bir çıktı elde edersiniz.
Bir dosya belirtmezseniz, grep okumalar için standart girdi kullanır ve büyük olasılıkla başka bir komutun çıktısı olacaktır. Genel olarak, grep, dosya adı olsun veya olmasın kullanmak için basit bir sözdizimine sahiptir.
Bu makale, grep sözdizimine ve dosya adı olsun veya olmasın kullanabileceğiniz bazı temel komutlara hızlı bir genel bakış sağlar.
Başlamadan önce
Tüm grep komutları aynı sözdizimini izler ve her parametrenin belirli bir işlevi vardır. İşte örnek çizgi:
grep DESEN
Komut çıkışını kontrol etmek için grep'te bir dizi OPTIONS kullanabilirsiniz ve sayı sıfırdan başlar. PATTERN uygulamak istediğiniz arama düzenini gösterir. DOSYA gelince, dosya adı veya adları nereye gidiyor, ancak parametre sıfıra ayarlanabilir.
Komut Çıktısında Dize Arama
Belirtildiği gibi, belirli giriş dosyaları kullanmanıza gerek yoktur. Başka bir komutun çıktısı grep'te bir kalıpla tam olarak eşleşen çizgileri elde etmek için kullanılabilir. Bu, sistemde hangi işlemlerin aktif olduğunu belirlemek için kullanılabilir. Bu örnek komut sözdizimi:
$ ps -ef | grep www-data
Elde ettiğiniz çıktı şöyle görünmelidir:
www-veri 18247 12675 4 16:00? 00:00:00 php-fpm: havuz www
kök 18272 17714 0 16:00 puan / 0 00:00:00 grep –color = auto –exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude- dir = .svn www-data
www-data 31147 12770 0 Eki22? 00:05:51 nginx: işçi süreci
www-data 31148 12770 0 Eki22? 00:00:00 nginx: önbellek yöneticisi işlemi
Grep işlemlerini içeren komut satırını dışlamanın bir yolu vardır. Bunun için $ ps -ef | grep www-data | grep -v grep komutu.
Grep Kelime Arama
Sisteminizdeki dosyalarda belirli sözcükleri aramak için grep komutlarını kullanabilirsiniz. Aslında, bir kelimenin tamamını yazmaya gerek yoktur. Örneğin sadece gnu kullanabilirsiniz ve komut bu üç harften oluşan bütün kelimeleri çıkarır. Komut sözdizimi:
$ grep gnu / usr / paylaşım / sözler
Komutu yürüttükten sonra, çıktınız şuna benzeyecektir:
cygnus
gnu
hükümdarsız dönem
lgnu9d
lignum
büyük şişe
Magnuson
bataklık yosunu
wingnut
Öte yandan, yalnızca bu belirli kelimeyi veya harf dizesini arayabilir ve diğer her şeyi hariç tutabilirsiniz. Bunun için sözdizimine -w veya –word - regexp eklemeniz gerekir. Bu durumda, example komutu şöyle görünür - $ grep -w gnu / usr / share / words .
Not: Dilbilgisi amacıyla, bazı komutların sonunda bir tam durur. Grep için o noktalama işaretine ihtiyacınız yok. Komutu kopyaladığınızda / yapıştırdığınızda bunu hariç tutun.
Grep Case Duyarlı mı?
Tüm grep komutları varsayılan olarak büyük / küçük harf duyarlıdır. Bu, küçük harf ve büyük harf karakterlerinin kullanılması komutun kendisinde bir fark yarattığı anlamına gelir. Ancak, komut satırına - i ( - ignore - case ) ekleyebilir ve sistemin hem büyük hem de küçük harf kelimeleri aramasını sağlayabilirsiniz.
Örneğin, giriş komutunuz $ grep -i Zebra / usr / share / words gibi görünebilir. Çıktının, zebra aradığında büyük ve küçük harflerin herhangi bir birleşimiyle eşleşmesini sağlar.
Satır numaraları
Belirli bir arama modeliyle eşleşen bir dizeyle satır sayısını belirlemek için –line-number seçeneğini veya just -n öğesini kullanın. Sonuç olarak, önünde bir satır numarası olan standart bir çıktı alırsınız.
Tam komut şöyle görünebilir: $ grep -n 10000 / etc / services . Uygulama üzerine, çıktı 10000 satırda bulduğu tüm eşleşmeleri sağlar. Aşağıdaki örneğe göz atın:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
Klasörlerdeki Dosyalar
Dosya adı yerine, grep komutunun arkasına yıldız işareti koyabilirsiniz. Gnu ölçütlerini tekrar kullanarak komut $ grep gnu * ' ya benziyor ve çıktıda gnu içeren dosyalar listeleniyor. Bu tür bir komutun bir satır döndürdüğünü not etmek önemlidir.
Not: grep ile satır, belirtilen bir kesmeye kadar çalışan karakter dizisini ifade eder. Aramayı hassaslaştırmazsanız, çıktı bilgi paragrafının tamamını içerebilir.
Grep ile Bir Sonraki Adımı Atın
Bu kılavuz sadece grep ile yapabileceklerinizin yüzeyini çizer. Tüm olasılıkları ve sonları elde etmek biraz zaman alabilir, ancak sözdizimi oldukça basit bir prensibi izler. Bazı uygulamalarda, dosya adınız olsun veya olmasın aramalarınızı mükemmelleştirebilirsiniz.