grep

Linux grep Komutu

Linux grep Komutu
Grep, emrinizde olabilecek en kullanışlı araçlardan biridir. Bu komut satırı yardımcı programı, düz metin veri kümelerinde arama yapar. Grep aslında “global olarak ara rdüzenli eifade ve pbaskı”. Grep, UNIX ailesinin bir parçası olarak yolculuğuna başladı. Zamanla, artık Linux, Mac, BSD ve hatta Windows gibi tüm popüler platformlarda kullanılabilir!

daha önce grep kullandın mı? Çoğu zaman, temel grep numarası işin çoğunu yapabilir. Ancak grep, aramayı gerçekleştirmek ve çıktıyı daha kullanışlı bir sürüme ince ayar yapmak için tonlarca yol sunar. Bu yazıda, grep komutunun kullanımını kontrol edelim.

Grep kullanımı

varlığını doğrulama

Herhangi bir Linux dağıtımı çalıştırıyorsanız, zaten grep yüklemişsinizdir. Terminalde aşağıdaki komutu çalıştırın.

grep --version

Bu komut, şu anda kurulu olan grep'in sürümünü göstermek için kullanılır. Şimdi, bir demo dosyasına ihtiyacımız var. Benim durumumda, sistemimde kurulu tüm paketleri içeren bir metin dosyası oluşturacağım.

Temel bilgiler

Grep'in temel kullanımı aşağıdaki yapıyı takip eder.

grep

Veya daha kolay anlamak için bunu kullanın.

grep -e -f

Bu durumda grep, dosyada bir arama yapacak ve kalıbı (arama terimi) içeren tüm satırları yazdıracaktır.

grep python ~/Desktop/PackageList.Txt

Grep “PackageList” dosyasını aradı.Robots.txt” daha önce oluşturdum ve “python” içeren tüm satırları yazdırdım.

Aynı işlem başka bir şekilde de yapılabilir. Aşağıdaki örneği inceleyin.

kedi ~/Masaüstü/Paket Listesi.metin | grep pitonu

Burada “cat” komutunu kullanarak “PackageList” dosyasının içeriğini gönderdim.txt”den grep'e. cat çıktısını kullanarak, grep aramayı gerçekleştirdi ve arama terimini içeren satırları yazdırdı.

Şimdi eğlenceli bir şey geliyor. Kelimenin tam anlamıyla birden fazla grep komutunu aynen böyle istifleyebilirsiniz.

kedi ~/Masaüstü/Paket Listesi.metin | grep - | grep p | grep pitonu

İlk grep kısa çizgi içeren satırlara, ikinci filtre p içeren satırlara ve son grep python içeren satırlara filtre uygular. Mantıklı?

Büyük küçük harf duyarlılığı

Arama yaparken büyük/küçük harf duyarlılığı önemli bir sorudur. Varsayılan olarak, grep büyük/küçük harfe duyarlıdır.

Örneğin, "Python" araması herhangi bir sonuç göstermez.

kedi ~/Masaüstü/Paket Listesi.metin | grep Python

Grep büyük/küçük harf duyarlılığını "duyarsız" yapmak için aşağıdaki seçeneği ekleyin.

kedi ~/Masaüstü/Paket Listesi.metin | grep -i Python

Dosya araması

Diyelim ki çok sayıda metin dosyası içeren bir dizininiz var. Amacınız, bir kalıp (arama terimi) içeren veya içermeyen dosyaları belirlemektir.

Bir yığın günlük dosyası içinde arama yaparken bu yöntemi oldukça yararlı buluyorum. Her bir dosyayı manuel olarak açıp kontrol etmek için zamanım olmadığı için, işi benim için yapacak grep'im var.

Eşleşmeyi içeren dosyaları listelemek için “-l” bayrağını kullanın.

grep -l /arama/dizin/*

Sonuçlardan da anlaşılacağı gibi, "Masaüstü" dizininde bulunan 3 dosyanın hepsinde "python" terimi var.

Eşleşmeyen dosyaları listelemek için “-L” bayrağını kullanın.

grep -L /arama/dizin/*

"Eşleşme yok.txt”, “python” terimini içermeyen tek dosyadır.

Ters arama

Grep'in varsayılan davranışı, yalnızca eşleşen desene sahip satırları yazdırmaktır, sağ? Süreci tersine çevirmenin zamanı geldi. Bu sefer, eşleşen desen OLMADAN yalnızca satırları yazdıracağız.

Sadece "-v" seçeneğini grep'e iletin.

kedi ~/Masaüstü/Paket Listesi.metin | grep -i -v Python

Maç öncesi/sonrası satırları yazdırma

Varsayılan olarak grep, yalnızca arama düzeniyle eşleşen satırı yazdırır. Bu tekniği kullanarak, grep'e maçtan önce/sonra satırları yazdırmasını söyleyebilirsiniz.

Maç öncesi satırları yazdırmak için aşağıdaki yapıyı kullanın.

grep -B

Burada 5, grep'in eşleşen satırdan ÖNCE yazdıracağı sayı satırıdır.

Maçtan sonra satırları yazdırmak için aşağıdakini kullanın.

grep -A

Eşleşen satırdan önce ve sonra yazdırmaya ne dersiniz?? Bu durumda, “-C” bayrağını kullanın.

grep -C

satır numarası

grep çıktıyı gösterdiğinde, satır numarasından bahsetmiyor. İlişkili satır numaraları için “-n” işaretini kullanın.

grep -n

Tek kelime

“-w” bayrağı kullanılırsa, grep, kalıbı bir bütün olarak ele alacaktır.

grep -w

grep aramasını sınırlama

Grep, dosyada aranacak satır sayısını belirlemeye izin verir. Bu yöntem, büyük bir dosyayla (sistem günlüğü gibi) uğraşıyorsanız kullanışlıdır. “-m” bayrağını kullanın.

grep -m

özyinelemeli arama

Ağır kullanım için grep'in sunduğu en yararlı özelliklerden biridir. Grep, bir dizini tekrar tekrar arayabilir ve karşılaştığı tüm dosyalardan tüm eşleşmeleri bulabilir.

grep -R

Veya,

grep -r

Genellikle bu özyinelemeli işlevi “-l” bayrağıyla birlikte kullanmayı buluyorum.

Sessiz mod

Grep "sessiz" modda çalıştırılabilir. “Sessiz” modda çalışırken, grep terminale herhangi bir çıktı yazdırmaz. Bunun yerine 0 (en azından bir eşleşme bulundu) veya 1 (eşleşme bulunamadı) döndürür.

grep -q
yankı $?

normal ifade

Grep ayrıca normal ifade (normal ifade) aramalarına da izin verir. Bu, bir arama aracı olarak grep'e yepyeni bir karmaşıklık ve kullanılabilirlik düzeyi ekler.

Örneğin, aynı anda hem "çok" hem de "iki" kelimesini aramak için parantezleri kullanabilirsiniz.

kedi ~/Masaüstü/gpl-3.0.metin | grep t[wo]o

Bu sonraki örnek, yalnızca eşleşme satırın en başında gerçekleşirse satırı yazdıracaktır.

grep ^GNU ~/Desktop/gpl-3.0.Txt

Sonu eşleştirmeye gelince, bunu kullanın.

grep you$ ~/Desktop/gpl-3.0.Txt

Perl normal ifadesini kullanmak istiyorsanız, “-P” bayrağını kullanın. Deseni Perl regex olarak ele alacak.

grep -P

Son düşünceler

Grep, arama işlevini özelleştirmek için tonlarca yol sunar. Normal ifadenin kullanılabilirliği, grep'in potansiyel kullanımı için yepyeni bir ufkun kilidini açar. İşin güzel yanı, hem genel hem de Perl normal ifadesini kullanabilirsiniz; hangisiyle rahat hissediyorsan.

En ayrıntılı açıklama için her zaman kılavuz sayfasına bakın.

adam grep

Şerefe!

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...