logo

Örneklerle Linux/Unix'te Grep Komutu

'Grep' komutu şu anlama gelir: 'küresel düzenli ifade baskısı' . grep komutu bir dosyanın içeriğini filtreleyerek aramamızı kolaylaştırır.

Düz metin veri gruplarında normal ifadeyle aynı olan satırları aramak için kullanılan bir komut satırı yardımcı programıdır. İsim 'kavramak' aynı etkiyi içeren komuttan, yani ed'den gelir. Başlangıçta grep, Unix işletim sistemi için tasarlandı, ancak daha sonra Unix benzeri tüm sistemlerde ve OS 9 gibi birkaç sistemde de kullanılabilir hale geldi.

Grep filtresi, belirli bir karakter desenine ilişkin bir dosya bulur ve bu deseni içeren her satırı gösterir. Desen parametresinde kabuk için özel bir anlam taşıyan karakterlerin bulunması durumunda karakterler tırnak içinde olmalıdır. Genellikle, kalıp parametresi ortak bir dize değilse, kalıbın tamamını tek bir tırnak işareti içine almamız gerekir.

[a-z] gibi bir ifadede eksi işareti (-) cml, geçerli harmanlama sırasına göre bir aralığı tanımlar. Bir harmanlama sırası, kullanım için karakter aralıklarında eşdeğer sınıfları belirtebilir. grep komutu, hiçbir dosyadan bahsedilmediğinde stdin'i varsayar.

Desen, dosyanın içinde bulunan normal ifade olarak adlandırılır. Desen, egrep veya ed komutu biçimindeki sınırlı düzenli ifadelerdir. grep komutu, deterministik olmayan sağlam bir algoritma uygular. Büyük günlük dosyalarını filtrelememiz gerektiğinde kullanışlıdır.

Python'da miras programı

Grep'in Kısa Tarihi

Başlık verilmeden önce grep, tarafından belirtilen gizli bir yardımcı programdı. Ken Thompson Çeşitli kalıplara ait dosyaları bulmak için. Varlığı bilinmeyen, Doug Mcllroy Thompson'dan böyle bir fonksiyon belirlemesini istedi. Bir gecede böyle bir faydayı düşüneceğini söyleyerek cevap verdi. Thompson, adlı programında yaklaşık bir saat boyunca iyileştirmeler yaptı ve bataklıkları düzeltti. 'S' (veya arayın). Ertesi gün işlevi Mcllroy'a sundu ve o da istediğinin aynı olduğunu söyledi. Thompson'ın anlatımı, grep komutunun bir gecede belirlendiği inancını açıklayabilir.

Thompson, desteklemek için PDP-11 derleme dilindeki ilk sürümü belirtti. Lee E. McMohan Bireysel makalenin yazarlığına karar vermek için Federalist Makaleler metnini kontrol etmek. Ed metin düzenleyicisinin normal ifade desteği vardı ancak bu kadar büyük metinlerde kullanılamıyordu; Thompson bu kodu bağımsız bir araca kopyaladı. Ed'den dolayı ismi seçti; grep komutu her satırı açıklanan desenle aynı şekilde yazdıracaktır. İlk olarak, Sürüm 4 Unix'e grep eklendi ve şunu söyledi: 'Genellikle prototip yazılım aracı olarak anılır' , Mcllroy grep'i onayladı 'Geri dönülmez bir şekilde kökleşiyor' Unix'te Thompson'un araç felsefesi.

Grep uygulamaları

Çeşitli yazılım geliştirme ortamlarında ve işletim sistemlerinde çeşitli grep uygulamaları mevcuttur. İlk sürümler, Unix'in 7 sürümünde tanıtılan fgrep ve egrep'i içeriyordu. Egrep sürümü, Ken Thompson'ın orijinal düzenli ifade uygulamasından sonra Alfred Aho tarafından eklenen genişletilmiş bir düzenli ifadenin sözdizimini destekler. fgrep sürümü herhangi bir sabit dize listesini bulur. Aho-Corasick dize eşleştirme algoritması . Bu sürüm ikili dosyaları modern sistemlerde mevcuttur; grep'e bağlanır veya genel olarak POSIX sistemlerine dağıtılırken eklenen doğru bayrağı kullanarak grep'i bir kabuk komut dosyası olarak çağırır.

Diğer komutlar şunları içerir: 'kavramak' temsil edecek kelimeyi bulmak için genellikle düzenli ifade eşleşmelerine dayanan araçlar buluyorlar. Örneğin, yardımcı program, yani, 'pgrep' , başlıkları sağlanan normal ifadeyle aynı olan süreçleri gösterir.

  • Grep, bir listedeki belirli bir özelliği eğlendiren öğeleri arayan yerleşik işlevin başlığıdır. perl Programlama dili.
  • Tipik olarak bu yüksek dereceli fonksiyona denir 'filtre' veya 'Neresi' başka bir dilde.
  • Komut, yani, pcregrep , Perl düzenli ifadesinin sözdizimini kullanan bir grep uygulamasıdır. Aynı işlevsellik grep GNU sürümüne -P bayrağı kullanılarak eklenebilir.
  • Ayrıca grep bağlantı noktaları (ör. GnuWin32 Ve Cygwin ) Microsoft Windows üzerinde yürütülür. Birkaç Windows sürümü aynı findstr veya qgrep komutunu sağlar.
  • Ayrıca grep komutu, MSX-DOS'un 2 sürümü için ASCII'nin MSX-DOS2 Araçlarının bir parçasıdır.
  • Fgrep, egrep ve grep komutları IBM i OS'ye gönderildi.
    Adobe InDesign yazılımı, 'GREP' değiştir/bul sekmesi iletişim kutusunda GREP işlevlerine (CS3 sürümünden beri) sahiptir ve CS4 kullanılarak belirtilir. 'GREP stilleri' paragraf stilleri.

Linux'ta grep nasıl kurulur?

Grep hemen hemen her Linux dağıtımında önceden yüklenmiş olarak gelir. Ancak sistemimizde eksik olması durumunda terminal penceresinde aşağıdaki komutla kurulumunu yapabiliriz:

 $ sudo apt-get install grep 

boru ile grep

monitör ekranımın boyutu nedir

'Grep' komutu genellikle pipe ile kullanılır (|) .

Sözdizimi:

 command | grep 

Örnek:

bash dize uzunluğu
 cat marks.txt | grep 9 

Linux Grep Filtreleri1

Yukarıdaki anlık görüntüye bakın, grep komutu '9' içeren tüm verileri filtreler.

borusuz grep

Borusuz da kullanılabilir.

Sözdizimi:

 grep 

Örnek:

 grep 9 marks.txt 

Linux Grep Filtreleri2

Yukarıdaki anlık görüntüye bakın, grep komutu önceki örnekle aynı işi yapar ancak boru olmadan.

grep seçenekleri

    grep -vM: 'grep -v' komutu, belirtilen sözcükle eşleşmeyen satırları görüntüler.

    Sözdizimi:

     grep -v 

    Örnek:

     grep -v 9 marks.txt 

    Linux Grep Filtreleri3

    Yukarıdaki anlık görüntüye bakın, komut 'grep -v 9 marks.txt' arama sözcüğümüz '9'u içermeyen satırları görüntüler.

    grep -i: 'grep -i' komutu çıktıyı büyük/küçük harfe duyarlı olmayan bir şekilde filtreler.

    Sözdizimi:

    ls linux'a komut verir
     grep -i 

    Örnek:

     grep -i red exm.txt 

    Linux Grep Filtreleri4

    Yukarıdaki anlık görüntüye bakın, komut 'grep -i kırmızı exm.txt' 'kırmızı' içeren tüm satırları büyük veya küçük harf olarak görüntüler.

    grep -A/ grep -B/ grep -C

    grep -A komutu görüntülemek için kullanılır. Sonuçtan sonraki satır .

    grep -B komutu görüntülemek için kullanılır. sonuçtan önceki satır .

    grep -C komutu görüntülemek için kullanılır. sonraki satır ve önceki satır sonuç.

    İstediğiniz sayıda satırı görüntülemek için (A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) öğesini kullanabilirsiniz.

    Sözdizimi:

    np.histogram
     grep -A grep -B grep -C 

    Örnek:

     grep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt 

    Linux Grep Filtreleri5

    Yukarıdaki anlık görüntüye bakın, komut 'grep -A1 sarı exm.txt' aranan satırı bir sonraki satırla birlikte görüntüler, komut 'grep -B1 sarı exm.txt' aranan satırı önünde bir satır ve komutla birlikte görüntüler 'grep -C1 sarı exm.txt' aranan satırı bir önceki ve sonraki satırla birlikte görüntüler.