grep

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

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

Dosyalardan metin aramak için Grep komutu kullanılır. -r ile grep'i çağıran çok yönlü bir kalıptır. -R seçeneği, geçerli dizinden başlayarak alt dizinlerden özyinelemeli arama dosyaları. 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.

$ Adam grep

-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ğlantıyı takip eder. -R, -r'den oldukça farklıdır çünkü yalnızca sembolik olarak tanımlanmış olanları değil, tüm dosyaları okur.

Sözdizimi

Grep  -R  "desen"  /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 adlarını sağlamaya çalıştığı için, -r gerekli kelimenin bulunduğu her yerde sembolik olarak aramaya yardımcı olur, çıktı olarak gelir. Oysa aramak istediğimiz kelime “Aksa”. 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.

$ grep  -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ı gösterir.

$ grep -r çok yönlü /ev/aqsayasin

Tüm Dizinlerde ve Alt Dizinlerde Özyinelemeli Arama

Arama sistemindeki “*” işlevinin hepimize aşina olduğu gibi. Tüm dosyalarda sıralama anlamına gelir. Böylece komut, tüm dosyalardan ilgili verileri gösterecektir. "Ev" kelimesi, grep deyimi kullanılarak özyinelemeli olarak aranmalıdır.

$ grep -r "ev" *

Aranan kelimeyi vurgulayarak dosya adlarını ve içindeki metni gösterir, bir eşleşme olduğunu 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 dosyaların adlarına sahip olan dizine kaydedilir. Seçenek, belirli bir klasörün adıdır. Bu komut, verilen dizindeki tüm dosyaları okuyacaktır.

$ grep -r “192.168.1.5” /vb/

Çıktıdaki dosyanın adları -h seçeneği yardımıyla bastırılabilir. Komut aşağıdaki gibidir.

$ grep -h -R "192.168.1.5" /vb/

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

Dizin Olmadan Özyinelemeli Arama

Özyinelemeli arama, bir dizin kullanmadan, yalnızca tek bir kelimeyle bir kelimeyi arayarak da yapılabilir.

$ grep  -r  eş

"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 ilerleyecektir. Ayrıca metin dosyalarıyla birlikte ikili dosyaları da içerecektir. Dosya adresi ve dosya adları ilk önce gösterilir. Dosyanın içindeki metin görüntülenirken. Sadece düz metin değil, dosya metnine uygulanan grep komutu da gösteriliyor, i.e., grep 'Ben bir 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 kalıp eklemek için kullanılır. Dizin yolundan, sistemin arama yapmasını kolaylaştırmak için bahsedilmiştir. Komuta bir dizin eklerken 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.

$ grep -rw '/home/aqsayasin/'

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ğunu çalıştıran arama sürecini de hızlandırdığı için etkili bir şekilde çalışır. Burada ikili ya da derlenmiş ya da 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.

$ grep -r - -include=”*txt” “kız kardeş” /home/aqsayasin

Sonuç

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.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...