Sözdizimi
Grep [desen] [dosya adı]
Grep kullandıktan sonra bir desen geliyor. Model, verilerdeki fazladan boşluğu kaldırmak için onu kullanmak istediğimiz yolu ima eder. Kalıbın ardından, kalıbın gerçekleştirildiği dosya adı açıklanır.
Önkoşul
Grep'in kullanışlılığını kolayca anlamak için sistemimizde Ubuntu'nun kurulu olması gerekir. Linux uygulamalarına erişimde ayrıcalıklara sahip olmak için kullanıcı adı ve şifre sağlayarak kullanıcı bilgilerini sağlayın. Giriş yaptıktan sonra uygulamayı açın ve bir terminal arayın veya ctrl+alt+T kısayol tuşunu uygulayın.
[: boş:] Anahtar Kelime Kullanarak
Bir metin uzantısına sahip bfile adında bir dosyamız olduğunu varsayalım. Metin düzenleyicide veya terminalde bir komut satırı ile bir dosya oluşturabilirsiniz. Aşağıdaki komutlar dahil olmak üzere terminalde bir dosya oluşturmak için.
$ Echo “dosyaya girilecek metin” > dosya adı.TxtZaten mevcutsa bir dosya oluşturmaya gerek yoktur. Eklenen komutu kullanarak görüntülemeniz yeterlidir:
$ yankı dosya adı.TxtBu dosyalara yazılan metin, aşağıdaki şekilde görüldüğü gibi aralarında boşluklar içerir.
Bu boş satırlar, kelimeler veya dizeler arasındaki boşlukları yok saymak için boş bir komut kullanılarak kaldırılabilir.
$ egrep '^[[:blank]]*[^[:blank:]#]' bfile.Txt
Sorgu uygulandıktan sonra satırlar arasındaki boşluklar kaldırılacak ve çıktı artık fazladan boşluk içermeyecektir. Satırın son sözcüğü arasındaki ve sonraki satırın ilk sözcükleri arasındaki boşluklar kaldırıldığından ilk sözcük vurgulanır. Çıktıdaki gereksiz alanı kaldırmak için bu boş işlevi ekleyerek aynı grep komutuna koşulları da uygulayabiliriz.
[: boşluk:] Kullanarak
Boşluğu yok saymanın başka bir örneği burada açıklanmıştır.
Dosya uzantısından bahsetmeden önce mevcut dosyayı şu komutu kullanarak görüntüleyeceğiz.
$ kedi dosyası20
[:space:] anahtar kelimesinin yanı sıra grep komutu kullanılarak fazladan boşluk nasıl kaldırıldığına bakalım. Grep'in -v seçeneği, boş satırları olmayan satırları ve paragraf formunda da bulunan fazladan boşlukları yazdırmaya yardımcı olur.
$ grep -v '^[[;boşluk:]]*$' dosya20Fazladan satırların kaldırıldığını ve çıktının satır bazında sıralı biçimde olduğunu göreceksiniz. Grep -v metodolojisi, gerekli hedefi elde etmede bu kadar yardımcı olur.
Dosya uzantılarından bahsetmek, grep işlevselliğini yalnızca belirli dosya uzantılarında çalışacak şekilde sınırlar.e., .metin veya .mp3. Bir metin dosyasında hizalama yaparken fileg alacağız.örnek dosya olarak robots.txt. İlk olarak, içinde bulunan metni $ cat işlevini kullanarak görüntüleyeceğiz. Çıktı aşağıdaki gibidir:
Komutu uygulayarak çıktı dosyamız elde edilmiştir. Burada art arda yazılan satırlar arasında boşluk bırakmadan verileri görebiliriz.
$ grep -v '^[[:boşluk:]]*$' dosyag.Txt
Uzun komutların yanı sıra, Linux ve Unix'te kısa yazılı komutlarla da gidebiliriz, bunun içinde grep desteği stenografi karakterleri uygulamak için.
$ grep '\s' dosya adı.TxtGirdiden komutlar uygulayarak çıktının nasıl elde edildiğini gördük. Burada, çıktıdan girdinin nasıl korunduğunu öğreneceğiz.
$ grep '\S' dosya adı.metin > tmp.txt && mv tmp.robots.txt dosya adı.TxtBurada tmp adlı metnin uzantısına sahip geçici bir metin dosyası kullanacağız.
^# Kullanarak
Açıklanan diğer örneklerde olduğu gibi, cat komutunu kullanarak komutu metin dosyasına uygulayacağız. Ayrıca echo komutunu kullanarak metni görüntüleyebiliriz.
$ yankı dosya adı.TxtMetin dosyası, aralarında boşluk olan 4 satır içerir. Bu boşluk çizgileri, belirli bir komut kullanılarak kolayca kaldırılır.
$ grep -Ev "^#|^$" dosya adı
Düzenli genişletilmiş işlemler, tüm düzenli ifadelere, özellikle de boruya izin veren -E tarafından etkinleştirilir. Herhangi bir desende isteğe bağlı bir "veya" koşulu olarak bir boru kullanılır.”^#”. Bu, dosyadaki # işaretiyle başlayan metin satırlarının eşleşmesini gösterir. “^$”, metindeki veya boş satırlardaki tüm boş alanlarla eşleşir.
Çıktı, veri dosyasında bulunan satırlar arasındaki fazladan boşluğun tamamen kaldırıldığını gösterir. Bu örnekte, ”^#” önce gelir, yani metin önce eşleştirilir komutunda gördük. ardından “^$” gelir | operatör, bu nedenle boş alan daha sonra eşleştirilir.
^$ Kullanarak
Tıpkı yukarıdaki örnekte olduğu gibi aynı sonuçlarla geleceğiz çünkü komut hemen hemen aynı. Ancak, desen zıt yazılır. dosya22.robots.txt, boşlukları kaldırmak için kullanacağımız bir dosyadır.
$ grep -v '^$|^#' dosya adı
Öncelikli çalışma dışında aynı metodoloji uygulanır. Bu komuta göre önce boş alanlar eşleştirilir, ardından metin dosyaları eşleştirilir. Çıktı, içlerindeki fazladan boşlukları kaldırarak bir dizi satır sağlayacaktır.
Diğer Basit Komutlar
- Grep '^…' dosya adı.
- 'Gep'.' Dosya adı
Bunların ikisi de çok basittir ve metin satırlarındaki boşlukların giderilmesine yardımcı olur.
Sonuç
Dosyalardaki gereksiz boşlukları düzenli ifadeler yardımıyla kaldırmak, düzgün bir veri dizisi elde etmek ve tutarlılığı korumak için oldukça kolay bir yaklaşımdır. Konuyla ilgili bilgilerinizi geliştirmek için örnekler ayrıntılı bir şekilde açıklanmıştır.