awk

Awk Boşluk Kırp

Awk Boşluk Kırp
Bir programcı olarak, verileri depolamak ve işlemek için farklı dosyalarla çalışmanız gerekebilir. Temel bir dosya işleme görevi, dosyalardaki boşlukların kaldırılmasını içerir. Boşluklar boşluklar, boş satırlar, nbsp ve sekmelerden oluşur. Programcıların genellikle yalnızca gerekli verilerin saklanması ve gereksiz boşlukların ortadan kaldırılması için boşlukları kaldırması gerekir. Boşluklar, baştaki (satırın başında) veya sonundaki (satırın sonunda) boşluklar olabilir.

Aşağıdakiler, boşlukların kaldırılmasının gerekli olabileceği bazı senaryoları içerir:

Yalnızca birkaç satır içeren bir dosya varsa, boşlukları manuel olarak kaldırmak mümkündür. Ancak yüzlerce satır içeren bir dosya için tüm boşlukları manuel olarak kaldırmak zor olacaktır. Bu amaç için sed, awk, cut ve tr gibi çeşitli komut satırı araçları mevcuttur. Bu araçlar arasında awk en güçlü komutlardan biridir.

Awk Nedir??

Awk, metin işleme ve rapor oluşturmada kullanılan güçlü ve kullanışlı bir betik dilidir. awk komutu, onu geliştiren kişilerin (Aho, Weinberger ve Kernighan) her birinin baş harfleri kullanılarak kısaltılır. Awk, değişkenleri, sayısal işlevleri, dizileri ve aritmetik operatörleri tanımlamanıza olanak tanır; biçimlendirilmiş raporlar oluşturun; ve dahası.

Bu makale, boşlukları kırpmak için awk komutunun kullanımını açıklar. Bu makaleyi okuduktan sonra, aşağıdakileri gerçekleştirmek için awk komutunu nasıl kullanacağınızı öğreneceksiniz:

Bu makaledeki komutlar bir Ubuntu 20'de gerçekleştirilmiştir.04 Odak Fossa sistemi. Ancak, aynı komutlar diğer Linux dağıtımlarında da gerçekleştirilebilir. Bu makaledeki komutları çalıştırmak için varsayılan Ubuntu Terminal uygulamasını kullanacağız. Ctrl+Alt+T klavye kısayolunu kullanarak terminale erişebilirsiniz.

Gösteri amacıyla, “sample” adlı örnek dosyayı kullanacağız.Txt.” bu makalede verilen örnekleri gerçekleştirmek için.

Bir Dosyadaki Tüm Boşlukları Görüntüle

Bir dosyada bulunan tüm boşlukları görüntülemek için cat komutunun çıktısını tr komutuna aşağıdaki gibi aktarın:

$ kedi örneği.metin | tr " " "*" | tr "\t" "&"

Bu komut, verilen dosyadaki tüm boşlukları (*) karakteriyle değiştirecektir. Bu komutu girdikten sonra, dosyada tüm boşlukların (hem baştaki hem de sondaki boşluklar dahil) nerede olduğunu açıkça görebileceksiniz.

Aşağıdaki ekran görüntüsündeki * karakterleri, örnek dosyada tüm boşlukların nerede bulunduğunu gösterir. Tek bir *, tek bir boşluğu temsil eder.

Tüm Boşlukları Kırp

Bir dosyadaki tüm boşlukları kaldırmak için, out of cat komutunu awk komutuna aşağıdaki gibi aktarın:

$ kedi örneği.metin | awk ' gsub(/ /,""); Yazdır '

Nerede

Yukarıdaki komut, tüm boşlukları (/ /) hiçbir şeyle ("") değiştirir.

Aşağıdaki ekran görüntüsünde, baştaki ve sondaki boşluklar dahil tüm boşlukların çıktıdan kaldırıldığını görebilirsiniz.

Baştaki Boşlukları Kırp

Dosyadan yalnızca baştaki boşlukları kaldırmak için, out of cat komutunu awk komutuna aşağıdaki gibi aktarın:

$ kedi örneği.metin | awk ' sub(/^[ \t]+/, ""); Yazdır '

Nerede

Yukarıdaki komut, baştaki boşlukları kaldırmak için dizenin başındaki bir veya daha fazla boşluğu (^[ \t]+ ) hiçbir şey (“”) ile değiştirir.

Aşağıdaki ekran görüntüsünde, çıktıdaki tüm önde gelen boşlukların kaldırıldığını görebilirsiniz.

Yukarıdaki komutun baştaki boşlukları kaldırdığını doğrulamak için aşağıdaki komutu kullanabilirsiniz:

$ kedi örneği.metin | awk ' sub(/^[ \t]+/, ""); yazdır ' | tr " " "*" |
tr "\t" "&"

Aşağıdaki ekran görüntüsünde, yalnızca baştaki boşlukların kaldırıldığı açıkça görülmektedir.

Sondaki Boşlukları Kırp

Bir dosyadan yalnızca sondaki boşlukları kaldırmak için, out of cat komutunu awk komutuna aşağıdaki gibi aktarın:

$ kedi örneği.metin | awk ' sub(/[ \t]+$/, ""); Yazdır '

Nerede

Yukarıdaki komut, sondaki boşlukları kaldırmak için dizenin sonundaki bir veya daha fazla boşluğu ([ \t]+ $) hiçbir şeyle ("") değiştirir.

Yukarıdaki komutun sondaki boşlukları kaldırdığını doğrulamak için aşağıdaki komutu kullanabilirsiniz:

$ kedi örneği.metin | awk ' sub(/[ \t]+$/, ""); yazdır ' | tr " " "*" | tr "\t" "&"

Aşağıdaki ekran görüntüsünden, sondaki boşlukların kaldırıldığı açıkça görülmektedir.

Hem Baştaki hem de Sondaki Boşlukları Kırp

Bir dosyadan hem baştaki hem de sondaki boşlukları kaldırmak için, out of cat komutunu awk komutuna aşağıdaki gibi aktarın:

$ kedi örneği.metin | awk ' gsub(/^[ \t]+|[ \t]+$/, ""); Yazdır '

Nerede

Yukarıdaki komut hem baştaki hem de sondaki boşlukları değiştirir (^[ \t]+ [ \t]+$) onları kaldırmak için hiçbir şey (“”) olmadan.

Yukarıdaki komutun dosyadaki hem baştaki hem de sondaki boşlukları kaldırıp kaldırmadığını belirlemek için aşağıdaki komutu kullanın:

$ kedi örneği.metin | awk ' gsub(/^[ \t]+|[ \t]+$/, ""); yazdır ' |
tr " " "*" | tr "\t" "&"

Aşağıdaki ekran görüntüsünden, hem baştaki hem de sondaki boşlukların kaldırıldığı ve yalnızca dizeler arasındaki boşlukların kaldığı açıkça görülmektedir.

Birden Çok Boşluğu Tek Boşlukla Değiştir

Birden çok boşluğu tek bir boşlukla değiştirmek için, out of cat komutunu awk komutuna aşağıdaki gibi yönlendirin:

$ kedi örneği.metin | awk ' gsub(/[ ]+/," "); Yazdır '

Nerede:

Yukarıdaki komut, çoklu boşlukları ([ ]+) tek bir boşlukla (“ “) değiştirir.

Yukarıdaki komutun birden çok boşluğu boşluklarla değiştirdiğini doğrulamak için aşağıdaki komutu kullanabilirsiniz:

$ kedi örneği.metin | awk ' sub(/[ \t]+$/, ""); yazdır ' | | tr " " "*" | tr "\t" "&"

Örnek dosyamızda birden fazla boşluk vardı. Gördüğünüz gibi, örnekte birden çok boşluk var.robots.txt dosyası, awk komutu kullanılarak tek bir boşlukla değiştirildi.

Yalnızca virgül, iki nokta üst üste veya noktalı virgül gibi belirli bir karakter içeren satırlardaki boşlukları kırpmak için, awk komutunu aşağıdaki komutla birlikte kullanın -F giriş ayırıcı.

Örneğin, her satırda boşluklar içeren örnek dosyamız aşağıda gösterilmiştir.

Yalnızca virgül (,) içeren satırlardaki boşlukları kaldırmak için komut aşağıdaki gibi olacaktır:

$ kedi örneği1.metin | awk -F, '/,/gsub(/ /,""); Yazdır'

Nerede (-F,) giriş alanı ayırıcıdır.

Yukarıdaki komut, yalnızca içinde belirtilen karakteri (,) içeren satırlardaki boşlukları kaldırır ve görüntüler. Satırların geri kalanı etkilenmeden kalacak.

Sonuç

awk komutunu kullanarak verilerinizdeki boşlukları kırpmak için bilmeniz gereken tek şey bu. Verilerinizden boşlukların kaldırılması birkaç farklı nedenden dolayı gerekli olabilir. Sebep ne olursa olsun, bu makalede açıklanan komutları kullanarak verilerinizdeki tüm boşlukları kolayca kırpabilirsiniz. Hatta awk komutuyla baştaki veya sondaki boşlukları kırpabilir, baştaki ve sondaki boşlukları kırpabilir ve çoklu boşlukları tek boşlukla değiştirebilirsiniz.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
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...