Komutlardan ve betiklerden veri seçmek için awk nasıl kullanılır

0
7

Awk komutu inanılmaz derecede kullanışlıdır ve komut dosyalarınızı ne kadar güçlü ve dönüştürücü yapacağına şaşıracaksınız. İşte onu kullanmaya nasıl başlayacağınız.

Resim: iStock / Inimma-IS

Okunması gereken geliştirici içeriği

Programlama hayranı olmasam da komut satırından çalışmayı olabildiğince çok seviyorum ve programcılara ve yapabileceklerine büyük saygı duyuyorum. Linux becerilerimi geliştirmek için çalışırken, paylaşılan UNIX tabanları nedeniyle Terminal’de Linux ve macOS arasında çok sayıda çapraz tozlaşma buluyorum ve son zamanlarda komut dosyalarımda daha gelişmiş (benim için) Linux komutları kullanmaya başladım. .

SEE: Sistem yöneticilerinin öğrenmesi için en iyi 5 programlama dili (ücretsiz PDF) (TechRepublic)

Aklımı başımdan alan bir komut garip. Emin olmayanlar için, awk’nin harika olduğunu söyleyeyim! Temel olarak, kendisine beslenen verileri yorumlayan bir filtre komutu gibidir. Awk, dosyayı / verileri tarar ve bir satırın bölümlerini alanlara ayırır. Bu, kullanıcının verileri uygun gördükleri şekilde dönüştürmesine, çıktı raporları belirli bir şekilde biçimlendirmesine, kalıpları taramasına veya söz konusu verilere dayalı programlama işlemlerini gerçekleştirmesine olanak tanır. Ayrıca, daha sonra geri çağırmak üzere belirli veri noktalarını segmentlere ayırmak için değişkenlerle son derece iyi çalışır.

Bu makale, awk ile ilgili herhangi bir gelişmiş yaklaşımdan uzaktır, ancak Linux / macOS Terminal bilginizi genişleterek beceri setinize eklemek veya bu harika küçük yardımcı programı, sağlam, özellik açısından zengin hale getirmek için komut dosyanıza uygulamak istiyorsanız veri kullanımı, o zaman bu aydınlanmayı uyandırmak için yola başlamanıza yardımcı olacaktır.

Bir dosyadaki tüm verileri yazdırın

Awk’ı kullanmanın en kolay yollarından biri, aşağıdaki sözdizimini kullanarak bir dosyayı taraması ve ekrandaki içeriği yazdırması veya görüntülemesi (Şekil A):

awk {yazdırma} dosyaadı.ext

Şekil A

2020-49-şekil-a.jpg

Belirli bir desenle eşleşen çizgileri bulun

Belirli bir modelle eşleşen tüm çizgileri gruplamak istediğinizi varsayalım. Aşağıdaki sözdizimi yalnızca “Doktor” iş unvanına sahip olanların kriterleriyle eşleşen satırları görüntüler (Şekil B):

awk ‘/ Doktor / {baskı}’ dosyaadı.ext

Şekil B

2020-49-şekil-b.jpg

Alana göre belirli verileri belirtin

Awk komutu, $ 0 ile başlayan (tüm dosyayı yazdıran) ve $ 1, $ 2 vb. Gibi yerleşik değişkenler içerir. Bu değişken bir bölüme / sütuna atanır ve bu başlığın altına düşen satırlardaki tüm öğelere başvurur. Aşağıdaki örneğimizde (Şekil C), $ 4 ve $ 6 değişkenleri “email_address” ve “location_id” başlıklarına çevrilir, bu nedenle yalnızca bu iki modelle eşleşen bilgileri görüntüleyen sözdizimi şöyle olur:

awk ‘{baskı $ 4, $ 6}’ dosya adı.uzantı

Şekil C

2020-49-şekil-c.jpg

Tecrübelerime göre, awk’nin son derece çok yönlü ve kelimelerin ötesinde faydalı olduğunu gördüm, ancak kafa kaşıma anlarının payı olmadan değil. Her şeyde olduğu gibi, komutla deneme yapmak, kılavuz sayfalarını okumak ve yardımcı programın neler yapabildiğini daha iyi anlayana kadar üretim dışı bir ortamda kesinlikle komut dosyalarınıza karşı test etmek için yeterince tavsiye edemem.

Developer Essentials Newsletter

En yeni programlama dillerinden en yüksek maaşlı işlere kadar, bilmeniz gereken geliştirici haberlerini ve ipuçlarını alın. Haftalık

Bugün kayıt olun

Ayrıca bakın

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz