Linux'ta Grep Komutu Nasıl Kullanılır

Dosya içeriğini kolayca filtrelemek ve görüntülemek için pratik örneklerle grep komutunu anlama

GREP 'Küresel Normal İfade Baskısı' anlamına gelir. Kullanıcı tarafından sağlanan kalıpla eşleşen metin satırını aramak için Linux tarafından sağlanan kullanışlı bir komut satırı yardımcı programıdır.

grep kullanıcının belirli bir dosyada aramak istediği dizeler veya kelimeler biçiminde kullanıcıdan girdi alır. Komut daha sonra kullanıcı tarafından belirtilen dosyayı bu kalıp için kontrol eder ve ardından sağlanan kalıpla eşleşen satırları döndürür.

Bir dosyanın içeriğini filtreleyerek mükemmel bir iş çıkarır, böylece belirli içeriği aynı anda tek veya birden fazla dosyada aramamızı kolaylaştırır.

Bu yazıda, sistemin işleyişini gözden geçirelim. grep bazı pratik örneklerle ayrıntılı olarak komut verin.

Mevcut seçenekler grep emretmek

Bunlar, cihazla sık sık kullanacağınız temel seçeneklerden bazılarıdır. grep emretmek.

SeçenekAçıklama
-BenceBüyük/küçük harfe duyarsız bir arama için
-rBelirtilen dizindeki ve alt dizinlerindeki tüm dosyaları tekrar tekrar aramak için
-CBir dizenin toplam kaç kez göründüğünü görüntülemek için
-vEşleşmeyen satırları görüntülemek için
-wAyrı olarak kullanılan söz konusu kelime için filtre

Kullanmak grep emretmek

grep komut genellikle boru ile kullanılır (|) Yarar. Diğer bazı Linux komutlarıyla kullanmak istediğinizde, kabuk borusu ile uygulanabilir. Rağmen, grep boru olmadan ayrı ayrı da kullanılabilir (|) Yarar.

Bazı temel sözdizimlerini görelim. grep boru yardımcı programı olan ve olmayan komut.

Önce size aşağıdakileri göstermek için kullanacağım örnek metin dosyasını göstereyim. grep emretmek.

HİNDİSTAN BARIŞ SEVİCİ İNSANLARIN GÜZEL BİR ÜLKEDİR. Hindistan yasama, yürütme ve yargının üç ayağı üzerinde duruyor. Hindistan, Barışı Seven İnsanların Güzel Bir Ülkesidir. Hindistan, tüm kartezyen koordinatların önemini kaynak kartezyen koordinatları olduğu için insanları önemser. Aşağıda iki boş satır var. Köyde tarım işleri için öküz arabası kullanımı yaygın bir manzaradır. Bu örnek dosyanın sonu.

grep boru ile kullanılır ( | )Yarar

grep komutu, kabuk boruları kullanılarak diğer Linux komutlarıyla birlikte uygulanabilir. gibi, kullanarak kedi dosyanın içeriğini görüntüleme komutu, ancak aynı zamanda çıktıyı kullanarak grep Yalnızca görmek istediğiniz içeriği görüntüleme komutu. Örneği incelediğimizde bu daha net anlaşılacaktır.

Sözdizimi:

[komut] | grep [dize]

Örnek:

kedi örneği.txt | grep yasama organı

Burada, kullandım kedi 'sample.txt' dosyasından bazı satırları görüntüleme komutu. Yalnızca içinde 'yasama' kelimesini içeren satırlar gösterilecek ve geri kalan satırlar yok sayılacaktır.

Çıktı:

gaurav@ubuntu:~/workspace$ kedi sample.txt | grep yasama india yasama, yürütme ve yargı olmak üzere üç sütun üzerinde durmaktadır. gaurav@ubuntu:~/çalışma alanı$

grep borusuz kullanılır ( | )Yarar

grep boruyu kullanmadan doğrudan bireysel bir komut olarak bile kullanılabilir ( | ) Yarar.

Sözdizimi:

grep [string_to_be_searched] [dosya adı]

Örnek:

grep Hindistan sample.txt

Çıktı:

Hindistan, Barışı Seven İnsanların Güzel Bir Ülkesidir. Hindistan, kaynak olarak insanları önemsiyor

Böylece, kullandım grep 'örnek.txt' metin dosyasından 'Hindistan' dizesini içeren satırları doğrudan filtrelemek için komut.

Kullanarak büyük/küçük harfe duyarsız arama grep emretmek

Linux, komutları terminalde çalıştırdığımızda büyük/küçük harf duyarlılığı konusunda çok dikkatlidir. Bu, kullanıcının komuta yerleştirilen dize durumu konusunda dikkatli olmasını gerektirir.

Bunu bir örnek üzerinden görelim.

grep barış örneği.txt

Bu durumda örnek dosyada 'barış' diye bir kelime olmadığı için çıktı alamayacağız. Büyük bir "P" ile "Barış" kelimemiz var. Kelime aynı ama kullandığımızda grep herhangi bir seçenek olmadan komut, dosyadaki tam eşleşmeyi arar, harf durumundaki değişiklikleri göz ardı eder.

Bu belirsizliği önlemek için, basitçe kullanabilirsiniz. -Bence kelimenin tam anlamıyla söyleyen seçenek grep emretmek "Dizeyi koyduğum durumu unutun ve dosyadaki tüm eşleşen kalıpları arayın."

Sözdizimi:

grep -i [dize] [dosya adı]

Örnek:

grep -i barış örneği.txt

Çıktı:

HİNDİSTAN BARIŞ SEVİCİ İNSANLARIN GÜZEL BİR ÜLKEDİR. Hindistan, Barışı Seven İnsanların Güzel Bir Ülkesidir.

Eşleşen dizenin durumundan bağımsız olarak tüm eşleşen satırlar görüntülenir.

kullanarak özyinelemeli arama grep emretmek

bu -r seçeneği, bir dizindeki tüm dosyaları ve komutta kullanıcı tarafından sağlanan dize modeliyle eşleşen tüm alt dizinlerini arayacaktır.

Sözdizimi:

grep -i -r [dize] [dosya_yolu]

Örnek:

grep -i -r tomcat /ev/gaurav/çalışma alanı

Buradaki dize 'tomcat' ve dizin çalışma alanında aranacak. 'Çalışma alanı' dizinindeki tüm alt dizinler ve dosyalar da sağlanan dize modeliyle eşleşmesi için taranacaktır.

Çıktı:

./context_log.policy:// catalina.policy - Tomcat 7 için Güvenlik Politikası İzinleri ./context_log.policy:// Not: Tomcat-juli.jar ${catalina.base} içindeyse ve ${catalina.home içinde değilse }, ./context_log.policy:// hibe codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/tomcat-juli.jar" { ./context_log.policy: izin Java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; ./context.xml: ./catalina.properties:# - Tomcat Bootstrap JAR'ları ./catalina.properties:# - Tomcat API JAR'ları ./catalina.properties:# - Tomcat JAR'ları ./catalina.properties:# - Tomcat dışı yaygın JARs ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina.properties:# tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000 . /server.xml: pathname="conf/tomcat-users.xml" /> ./server.xml: 

NOT: Kullanırken -r seçeneği ile grep komut, dosya adını değil, dosyanın yolunu sağlamamız gerekiyor

Tüm kelimeleri sadece ile arama grep emretmek

Çoğu zaman, bir kelime arayacaksınız, ancak terminalinizi eşleşen kelimenizi içeren ancak tek bir kelime olarak içermeyen eşleşen satırlarla dolduracaksınız. Alt kısmı girdiğiniz dize olan bazı kelimeleri içeren satırları görebilirsiniz.

Bununla kafan mı karıştı? Endişelenme, örneğini aldıktan sonra anlamak çok daha kolay.

Örnek:

Burada, tek bir 'cart' kelimesini aramak ve 'sample.txt' dosyasında bu kelimeyle eşleşen tüm satırları görüntülemek istiyorum.

grep -i cart sample.txt

Çıktı:

Kartezyen koordinatları, tüm Kartezyen koordinatların önemini. Köyde tarım işleri için öküz arabası kullanımı yaygın bir görüntüdür. Araba, çocuk onu serbest bıraktığı için kayboldu.

Çıktıda, 'Kartezyen' kelimesinin de 'cart' kelimesini içerdiğini ve dolayısıyla 'Kartezyen' kelimesini içeren satırların da görüntülenmesini istemesek de görüntülendiğini gözlemleyebilirsiniz.

kullanabilirsiniz -w seçeneği ile grep Bu belirsizliği çözmek için komut.

Sözdizimi:

grep -i -w [dize] [dosya adı]

Örnek:

grep -i -w sepet örneği.txt

Çıktı:

Köyde tarım işleri için öküz arabası kullanımı yaygın bir manzaradır. Çocuk onu serbest bıraktığı için araba kayboldu. 

Şimdi, kullandığınızda -w ile seçenek grep sadece 'araba' kelimesinin bir bütün olarak kullanıldığı satırları alacaksınız.

kullanarak ters arama grep emretmek

grep komut ters şekilde de kullanılabilir. kullanabiliriz grep eşleşen satırları gizleyerek ve yalnızca eşleşmenin bulunmadığı satırları görüntüleyerek ters yönde komut verin. Bunu kullanarak yapabilirsiniz -v seçeneği ile grep emretmek.

Sözdizimi:

grep -i -v [dize] [dosya adı]

Örnek:

grep -i -v kaynak örneği.txt

Çıktı:

HİNDİSTAN BARIŞ SEVİCİ İNSANLARIN GÜZEL BİR ÜLKEDİR. Hindistan yasama, yürütme ve yargının üç ayağı üzerinde duruyor. Hindistan, Barışı Seven İnsanların Güzel Bir Ülkesidir. kartezyen koordinatlar tüm kartezyen koordinatların önemi. Köyde tarım işleri için öküz arabası kullanımı yaygın bir manzaradır. Bu örnek dosyanın sonu.

Çıktıda, 'kaynak' kelimesini içeren satır dışındaki tüm diğer satırlar görüntülenir.

Eşleşen dizenin oluşumlarını sayma

çıktısı grep dosyadaki veriler kapsamlıysa komut genellikle çok uzundur. Eşleşmeler ne kadar fazlaysa, çıktılar o kadar uzun olur. grep emretmek. Linux, eşleşmenin tekrarlanma sayısını görüntüleyebileceğiniz bir seçenek sunar.

Sözdizimi:

grep -i -c [dize] [dosya adı]

Örnek:

grep -i -c hindistan sample.txt

Çıktı:

gaurav@ubuntu:~/workspace$ grep -i -c hindistan sample.txt 4 gaurav@ubuntu:~/workspace$

Burada çıktı, sample.txt dosyasında 'Hindistan' kelimesinin oluşum sayısı olan bir sayıdır.

NOT: ben kullandım -Bence Her örnekte seçenek, yalnızca büyük/küçük harf duyarlılığı konusunda güvende olmak için. Aradığınız kelimenin durumundan eminseniz, güvenle atlayabilirsiniz. -Bence seçenek.

Çözüm

Temel kullanımlarını öğrendik. grep Bu eğitimde Linux sistemlerinde komut. Ayrıca, gereksinimlerimize en uygun çeşitli içerikleri görüntülemeyi ve terminali bir sürü satırla doldurmamayı öğrendik. grep komutu, büyük veri kümelerini taramak için kullanıldığında kesinlikle zaman kazandıracaktır.