AWK’yi, diziler, değişkenler, döngüler ve eski güzel düzenli ifadeler dahil olmak üzere daha fazla özellik sağladığı için Sed’e göre bir gelişme olarak kabul edebiliriz.
Bu öğreticide, bir AWK komutunda birden çok seçiciyi nasıl kullanabileceğinizi hızlıca tartışacağız. Devam etmeden önce, lütfen bu eğitimin AWK için bir başlangıç kılavuzu olmadığını unutmayın, kastettiğim bu değildi.
AWK için bir başlangıç kılavuzuna ihtiyacınız varsa lütfen aşağıdaki kaynağa bakın.
Belirleyiciler nelerdir?
Bu makaleyi okumak için zaman ayırdığınıza göre, determinant kavramına aşina olduğunuza eminim. Ama özetlemekten zarar gelmez, o yüzden şimdilik bunu yapalım:
Kısacası sınırlayıcılar, dize metin değerlerini ayırmak için kullanılan bir karakter dizisidir. Aşağıdakiler de dahil olmak üzere birkaç yaygın seçici türü vardır:
İsim | kod |
---|---|
virgül | Ve |
Köln | : |
noktalı virgül | ; |
bir dönem | . |
pompa | | |
ters eğik çizgi | \ |
azaltmak | / |
yaylar | () |
kaşlı ayraçlar | {} |
Köşeli parantez | [ ] |
Uzay |
Alan ayırıcı AWK RegEx
AWK Alan Ayırıcı (FS), AWK’nin günlüğü farklı alanlara nasıl böldüğünü tanımlamak ve kontrol etmek için kullanılır. Normal bir ifade için tek bir karakteri de kabul edebilir. FS değeri olarak bir normal ifade belirttiğinizde AWK, normal ifadede tanımlanan dize için giriş değerlerini siler.
Birden çok sınırlayıcıyı bağlamak için alan ayırıcıdaki normal ifade değerlerini kabul edecek AWK işlevlerini uygulayacağız.
Birden çok sınırlayıcı kullanın
AWK’da birden çok sınırlayıcı kullanarak nasıl bölümleme yapacağınızı göstermek için, bu işlevi nasıl kullanacağınızı göstermek için basit bir örnek kullanacağım.
Aşağıdaki gibi verileri içeren bir dosyanız olduğunu varsayalım:
/Kuruluş/çiçek/Masaüstü/Arayüz: Yüklendi: 17 Nis 16.59.09|org.gnome. terminal.masaüstü[1099]
Yukarıdaki dosyadan, aşağıda gösterilene benzer bir çıktı almak istiyoruz:
Kuruluş/cüce/Masaüstü/Arayüz Nisan’ı kurun 1716:59.09 org.gnome. terminal.masaüstü[1099]
Dosyayı farklı sınırlayıcılar (bu durumda iki nokta üst üste, boşluk ve kısa çizgi) kullanarak ayırmak için aşağıdaki komutu kullanabiliriz:
awk-F“[: |]”“{$1,$2,$3,$4,$5,$6 yazdır}” kullanıcı.log
Yukarıdaki komut, bilgileri aşağıda gösterildiği gibi verir:
Gördüğünüz gibi, belirli bilgileri almak için birden çok sınırlayıcıyı bir AWK alan ayırıcısında birleştirebilirsiniz.
çözüm
Bu hızlı kılavuzda, bir girdi dosyasında birden çok sınırlayıcıyı ayırmak için AWK kullanmayı tartıştık.
AWK FS’nin işlevselliğini genişletme hakkında daha fazla bilgi için aşağıdaki kaynakları göz önünde bulundurun:
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın