grep

Çoklu Modeller veya Dizeler için Grep

Çoklu Modeller veya Dizeler için Grep
Global Normal İfade Yazdırma veya Grep, Linux işletim sisteminde kullanılan güçlü bir yardımcı programdır. Grep aracılığıyla, sınırlamalar uygulayarak farklı desenlere veya dizelere sahip dosyalardan arama yapabilirsiniz. Grep işlevi, dizinlerde veya alt dizinlerde arama yapmak için bir veya daha fazla girdi dosyası alır. Çok sayıda desen aramak için OR operatörünü kullanırız. Bu operatör, komutta yazılan kalıpları ayırmak için kullanılır. Değiştirme operatörü “|” ters eğik çizgi ile kullanılır. Farklı normal ifadeleri aramak için sözdizimi aşağıdaki gibidir:

Sözdizimi

$ grep 'pattern1\|pattern2' dosya adı

Normal bir ifade her zaman tek bir tırnak içinde yazılır. İki isim ters eğik çizgi ve değiştirme operatörü ile ayrılır. Komut dosya adı ile sonlandırılır. Grep özyinelemeli yapılırken, tek bir dosya adı yerine dizin veya tam yol kullanılır.

Önkoşul

Bu makalede, grep'in çoklu desen ve dizileri aramadaki işlevselliğini öğreneceğiz. Bunun için sanal kutunuzda Linux işletim sisteminin çalışıyor olması gerekmektedir. sisteminize kurmanız gerekiyor. Yapılandırmadan sonra, tüm uygulamaları kullanma erişiminiz olacak. Bir şifre sağlayarak kullanıcıya giriş yaptıktan sonra, devam etmek için terminal kabuğu komut satırına gidin.

Grep Kullanarak Bir Dosyada Birden Çok Kalıpla Arama

Belirli bir dosyada birden fazla desen veya dize aramak istiyorsak, komutta birden fazla giriş sözcüğü yardımıyla bir dosya içinde sıralamak için grep işlevini kullanın. '\|' kullanıyoruz bir komutta iki desenin ayrılması için operatörler.

$ grep 'teknik\|iş' dosyası.Txt

Komut, grep'in nasıl çalıştığını gösterir. Bahsedilen her iki dosya da filea'da aranacaktır.Txt. Aranan kelimeler çıktının tüm metninde vurgulanır.

İkiden fazla kelime aramak için onları aynı yöntemle eklemeye devam edeceğiz.

$ grep 'grafik\|photoshop\|poster' dosyasıb.Txt

Büyük/Küçük Harfleri Yok Sayarak Birden Çok Dizeyi Ara

Linux'ta grep işlevinde büyük/küçük harf duyarlılığı kavramını anlamak için aşağıdaki örneği inceleyin. grep üzerinde iki komut çalışır. Biri '-i' ile ve diğeri olmadan. Bu örnek, komutlar arasındaki farkları gösterir. İlki, belirli bir dosyada iki kelimenin aranacağını gösterir. Ancak “Aksa” komutunda belirtildiği gibi büyük A ile başlar. Bu nedenle, belirli bir dosyada bu metin küçük harf olduğundan vurgulanmayacaktır.

$ grep 'Aksa\|kardeş' dosyası20.Txt

Yalnızca çıktıda görülecek olan kardeş kelimesini dikkate alacaktır.

İkinci örnekte, “-I” bayrağını kullanarak büyük/küçük harf duyarlılığını göz ardı ettik. Bu işlev her iki kelimeyi de arayacak ve çıktı vurgulanacaktır. 'Aksa' kelimesi büyük harflerle yazılmış olsun ya da olmasın, grep bir dosyanın içindeki metinde aynı eşleşmeyi arayacaktır. Yani, her iki komut da kendi yollarında yardımcı olur.

$ grep -I 'Aksa\|kardeş' dosyası20.Txt

Bir Dosyadaki Birden Fazla Eşleşmeyi Sayma

Sayma işlevi, belirli bir dosyadaki bir kelimenin veya kelimelerin oluşumunu saymaya yardımcı olur. Örneğin sistemde meydana gelen hatalar hakkında bilgi almak istiyorsanız. Detay günlük dosyasına kaydedilir. Bu bilgiyi belirli bir klasörde tutmak için klasörlerin yolunu yazacaksınız. Bu örnek, günlük dosyalarında 71 hata oluştuğunu gösterir.

Bir Dosyada Tam Eşleşmeleri Ara

Sisteminizin dosyalarında tam bir eşleşme bulmak istiyorsanız, doğru bir şekilde sıralamak için “-w” işaretini kullanmanız gerekir. Basit ve kapsamlı bir örnek alıntıladık. Aşağıdaki örnekte, “-w” olmadan aramayı düşünün, bu komut verilen girdi ile eşleşen her iki kelimeyi de getirecektir. Ancak “-w” işaretinin kullanılmasıyla, giriş sözcükleri yalnızca ilk dizeyle eşleştiğinden arama sınırlı olacaktır. İkinci kelime vurgulanmaz çünkü “-w” desenle doğru eşleşmeye izin verir.

$ -iw 'hamna\|ev' dosyası21.Txt

Burada -I ayrıca metin aramada büyük/küçük harf duyarlılığını kaldırmak için kullanılır.

Fotoğrafta görüldüğü gibi, sonuçlar aynı değil. İlk komut, ilgili tüm verileri tam dizelerle getirirken, ikinci komut, birden çok dizeyi ararken grep aracılığıyla tam verilerin nasıl eşleştiğini gösterir.

Belirli Bir Dosya Uzantısı Türünde Birden Fazla Model için Grep

Tüm dosyalar içinde arama yapılır. Dosya adı vererek arama yapmak size kalmış Sadece belirli dosyalarda arama yapacaktır. Ancak bir dosya uzantısı sağlayarak, aynı uzantının tüm dosyalarında veriler aranacaktır. İlgili sonucu tasvir etmek için iki farklı örnek vardır. İlk örnek göz önüne alındığında, hata dosyaları tüm dosyalarda sayılacaktır .günlük uzantısı. "-c" saymak için kullanılır.

$ grep -c 'uyarı\|hata' /var/log/*.günlük

Bu komut, dosyaların tüm dosyalarda aranacağı anlamına gelir .günlük uzantısı. Grep'i belirli dosya uzantısıyla daha iyi göstermek için çıktıda eşleşme sayısı gösterilecektir.

İkinci örnekte, Linux'taki dosyalarımızda metnin uzantısı ile iki kelime kullandık. Tüm veriler sayılar şeklinde gösterilecektir. 0, eşleşen veri olmadığını gösterirken, 0 dışında bir eşleşmenin var olduğunu gösterir.

$ grep -c 'aqsa\|benim' /home/aqsayasin/*.Txt

Bir Dosyada Özyinelemeli Birden Çok Desen Arama

Varsayılan olarak, komutta belirtilen bir dizin yoksa geçerli dizin kullanılır. Kendi seçtiğiniz dizinde arama yapmak istiyorsanız, bundan bahsetmeniz gerekir. "-r" operatörü, grep için yinelemeli olarak kullanılır./home/aqsayasin/ dosyaların yolunu gösterirken *.txt uzantıyı gösterir. Metin dosyaları, grep'in özyinelemeli arama hedefi olacaktır.

$ grep -R 'teknik\|ücretsiz' /home/aqsayasin/*.Txt

Bu kelimelerin varlığını gösteren sonuçta istenilen çıktı vurgulanır.

Sonuç

Yukarıda bahsedilen makalede, bir kullanıcının Linux'ta birden çok kalıp aramak için komutların çalışmasını anlamasını kolaylaştırmak için farklı örnekler verdik. Bu kılavuz, mevcut bilginizi artırmanıza yardımcı olacaktır.

En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...
Ubuntu'da Oynanacak En İyi 10 Oyun
Windows platformu, günümüzde doğal olarak Windows'u desteklemek için geliştirilen oyunların büyük bir yüzdesi nedeniyle oyun oynamak için hakim platfo...
Linux için En İyi 5 Arcade Oyunu
Günümüzde bilgisayarlar oyun oynamak için kullanılan ciddi makinelerdir. Yeni yüksek puanı alamazsan, ne demek istediğimi anlayacaksın. Bu yazıda, bug...