grep

Grep'te Boş Satırları Nasıl Yoksayabilirim?

Grep'te Boş Satırları Nasıl Yoksayabilirim?
Grep'in açılımı Küresel Normal İfade Baskısı. Birçok işlevi vardır, ben.e., bir dosyada arama yapmak, yalnızca bir dosyanın adlarını aramak, özyinelemeli olarak grep, vb. Grep, arama sektöründe güçlü bir komut olarak kabul edilir. Çoğu durumda, boşluklara ihtiyaç duymadığımız veya verilerimizdeki istenmeyen boşlukları gidermemiz gereken durumlarla karşılaşıyoruz. Grep kullanmanın en ilginç yollarından biri, metin dosyasındaki boş satırları yok saymak veya kaldırmaktır. Bu prosedür farklı örneklerle gerçekleştirilir. Dosya düzenleme işlemidir. Bu amaca ulaşmak için sistemimizde mevcut dosyaların olması gerekir. Grep komutu ile boş satırlar olmadan veri yazdırmasına izin veriyoruz.

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ı.Txt

Zaten mevcutsa bir dosya oluşturmaya gerek yoktur. Eklenen komutu kullanarak görüntülemeniz yeterlidir:

$ yankı dosya adı.Txt

Bu 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:]]*$' dosya20

Fazladan 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ı.Txt

Girdiden 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ı.Txt

Burada 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ı.Txt

Metin 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

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.

Linux Oyunları Geliştirmek için Ücretsiz ve Açık Kaynaklı Oyun Motorları
Bu makale, Linux'ta 2D ve 3D oyunlar geliştirmek için kullanılabilecek ücretsiz ve açık kaynaklı oyun motorlarının bir listesini kapsayacaktır. Bu tür...
Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...