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çenek | Açıklama |
-Bence | Büyük/küçük harfe duyarsız bir arama için |
-r | Belirtilen dizindeki ve alt dizinlerindeki tüm dosyaları tekrar tekrar aramak için |
-C | Bir dizenin toplam kaç kez göründüğünü görüntülemek için |
-v | Eşleşmeyen satırları görüntülemek için |
-w | Ayrı 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.