Grep Özyinelemeli Nasıl Kullanılır?

How Use Grep Recursively



Dosyalardan metin aramak için Grep komutu kullanılır. Grep'i –r ile çağıran çok yönlü bir kalıptır. –R seçeneği, dosyaları geçerli dizinden başlayarak alt dizinlerden özyinelemeli olarak arar. Komut, üst düzey dizinden çalıştırılır. Örneğin /home/abc vb. Grep, bir ana bilgisayardan diğerine geçerken bağımlılıkları elde etmek için bir araçtır. Komutta bir dizinden bahsetmezsek, grep mevcut çalışma dizinini arayacaktır. Grep'i özyinelemeli olarak gerçekleştirmek için grep'in man sayfasından aldığımız üç argüman vardır.

$Erkek adamkavramak







–include, dizinde veya varsayılan olarak bulunan dosyalar olabilecek dosyadaki tam eşleşme için kullanılır. –r, daha önce açıklandığı gibi dizin adını belirtir, komutta hiçbir yol tanımlanmadıysa, geçerli dizin dikkate alınır. Sadece sembolik bir bağ izler. –R, –r'den oldukça farklıdır, çünkü yalnızca sembolik olarak tanımlanmış olanları değil, tüm dosyaları okur.



Sözdizimi

Kavrama –R modeli/yol/

Yol bir dizin yoludur. Ve kalıp, aramak istediğiniz bir kelime veya dizedir.



Önkoşul

Grep özyinelemeli işlevini anlamak için Linux işletim sistemine sahip olmanız gerekir. Kurulumdan sonra, bir kullanıcı adı ve şifre sağlayarak Linux'u yapılandıracaksınız. Bunu yaptıktan sonra, o işletim sistemindeki tüm uygulamalara erişme ayrıcalıklarına sahip olacaksınız.





Linux'taki Tüm Dosyalar

Bu komut, sisteminizin dizinlerindeki tüm dosya adlarını aramanıza yardımcı olacaktır. –l sadece dosya isimlerini sağlamaya çalıştığı için, –r gerekli kelimenin bulunduğu her yerde sembolik olarak aramaya yardımcı olacak, çıktı olarak gelecektir. Oysa aramak istediğimiz kelime Aksa'dır. Bu komut, dizine giden herhangi bir yol içermez, çünkü burada, sistemdeki tüm olası dosya adlarını istiyoruz. Bir yol sağladıysak, arama sürecinin sınırlamaları olacaktır.

$kavramak–r –l aksa



Basit Örnek

Path yardımıyla özyinelemeliliğin ikilemini anlamak için kullanıcıya rehberlik edecek basit bir örnek sunduk. Aşağıdaki komutta gösterildiği gibi çok yönlü, aramak istediğimiz bir kelimedir. Kelimenin ardından sıralamak istediğimiz bir dizin var. Hem dizinle birlikte dosya adını hem de dosyanın içindeki tüm metni gösterir. –r ayrıca ikili dosyaları da gösterir.

$kavramak–r çok yönlü/ev/aksayasin

Tüm Dizinlerde ve Alt Dizinlerde Özyinelemeli Arama

Arama sistemindeki * işlevine hepimiz aşinayız. Tüm dosyalarda sıralama anlamına gelir. Böylece komut, tüm dosyalardan ilgili verileri gösterecektir. House kelimesi, grep deyimi kullanılarak özyinelemeli olarak aranmalıdır.

$kavramak–r ev*

Dosya adlarını ve içindeki metni, bir eşleşme olduğunu belirterek, aranan kelimeyi vurgulayarak gösterir. Sonuç satırında gösterilen bu kelimeyi yalnızca tek bir metin dosyası içeriyordu.

Bir Dize için Özyinelemeli Grep

Yukarıdaki örneklerden farklı olarak grep, belirli dizindeki bir dize üzerinde çalışır. /etc/, aramanın bir bilgisayarın IP adresi olan bu dizin üzerinden yapılacağı anlamına gelen komut dizinidir. Bilgileri, /etc/ppp/ dizininde bulunan dosya adlarına sahip dizine kaydedilir. Seçenek, belirli bir klasörün adıdır. Bu komut, verilen dizindeki tüm dosyaları okuyacaktır.

$kavramak–r 192.168.1.5/vesaire/

Çıktıdaki dosyanın adları –h seçeneği yardımıyla gizlenebilir. Komut aşağıdaki gibidir.

$kavramak -H -R '192.168.1.5' /vesaire/

Her iki ayırıcı da bir komutta -h -R gibi yazılabilir.

Dizin Olmadan Özyinelemeli Arama

Özyinelemeli arama, bir dizin kullanılmadan, yalnızca tek bir sözcükle bir sözcük aranarak da yapılabilir.

$kavramak-r karısı

Eş kelimesi tüm dizinlerde otomatik olarak aranır çünkü adı geçen bir dizin olmadığında arama işlemi sistemin tüm dosya ve dizinlerinde devam edecektir. Ayrıca metin dosyalarıyla birlikte ikili dosyaları da içerecektir. Dosya adresi ve dosya adları ilk olarak gösterilir. Dosyanın içindeki metin görüntülenirken. Yalnızca düz metin değil, dosya metnine uygulanan grep komutu da gösterilir, yani grep 'Ben ev hanımıyım'.

Grep Tam Çoklu Modeller

Birden çok yöntem aramak da grep komutuyla elde edilen bir özelliktir. -rw, belirli bir eşleşmeyi keşfetmek için kullanılır. -e, komuta birden fazla desen eklemek için kullanılır. Dizin yolundan, sistemin arama yapmasını kolaylaştırmak için bahsedilmiştir. Komuta bir dizin eklenirken sınır getirildiği için ikili dosyalar hariç tutulur. Çıktı, dosya dizini adını ve dosya adını içerir. Ayrıca, dosyanın içindeki metin görüntülenir.

$kavramak-rw'/ev/aksayasin/'

Aranan kelimeler dosya metninde vurgulanır. Aranan her iki terimin de tek bir dosyada bulunması gerekir. Çıktıda gösterildiği gibi, farklı dosyalarda kelimelerin bulunma olasılığı vardır.

Grep Özyinelemeli Kullanarak – -Include

—include, verilen dosya kalıbıyla eşleşir ve dosyaların çoğunda çalışan arama sürecini de hızlandırdığı için etkili bir şekilde çalışır. Burada ikili, derlenmiş veya görüntü dosyalarını getirmez. Dosya uzantısı, komuta sınırlamalar eklemek için kullanılır. Gerekli çıktıyı getirmek için dizinden bahsedilir. Dahil edilen anahtar kelime, diğer işlevlere kıyasla grep'te oldukça gelişmiştir.

$kavramak-r --Dahil etmek=*txt kardeş/ev/aksayasin

Çözüm

Bu makalede, grep özyinelemeli işlevinin kullanımını göstermek için her bir örneği açıkladık. Sistemdeki tüm dizinlerde sınırlamalarla ve kesin olarak arama yapmak için özyinelemeli bir işlev kullanılır. Bir dizin yoksa, geçerli dizin varsayılan olarak kabul edilir.