sed

Sed Boşluğu Kaldır

Sed Boşluğu Kaldır
Belgelerdeki boşlukları kaldırmak, metnin genel düzenini iyileştirmek ve verilerin temiz ve düzenli olmasını sağlamak için gerekli olan önemli bir biçimlendirme adımıdır. Yalnızca gerekli verileri depolamaya ve gereksiz ön ve son boşluklardan kurtulmaya yardımcı olur. Aşağıda, boşlukları kaldırmanız gerekebilecek bazı senaryolar verilmiştir:

Önde gelen boşluklardan bahsedecek olursak, metnin başında oldukları için fark edilmeleri nispeten kolaydır. Ancak, sondaki boşlukları tespit etmek kolay değildir. Aynısı, bazen fark edilmesi zor olan çift boşluklar için de geçerlidir. Binlerce satır içeren bir belgeden baştaki ve sondaki tüm boşlukları kaldırmanız gerektiğinde her şey daha da zorlaşıyor.

Belgenizdeki boşlukları kaldırmak için awk, sed, cut ve tr gibi çeşitli araçları kullanabilirsiniz. Diğer bazı makalelerde, boşlukları kaldırmada awk kullanımını tartıştık. Bu yazıda, verilerden boşlukları kaldırmak için sed kullanımını tartışacağız.

sed'in nasıl kullanılacağını öğreneceksiniz:

Komutları Ubuntu 20'de çalıştıracağız.04 Odak Fossa. Aynı komutları diğer Linux dağıtımlarında da çalıştırabilirsiniz. Komutları çalıştırmak için varsayılan Ubuntu Terminal uygulamasını kullanacağız. Terminali açmak için Ctrl+Alt+T klavye kısayolunu kullanın.

sed nedir

Sed (akış düzenleyicisi anlamına gelir), Linux'ta giriş akışlarında temel metin işlemlerini gerçekleştirmemize izin veren çok güçlü ve kullanışlı bir yardımcı programdır. Bu bir metin düzenleyici değildir, ancak metni işlemeye ve filtrelemeye yardımcı olur. Giriş akışlarını alır ve kullanıcının talimatlarına göre düzenler ve ardından dönüştürülen metni ekrana yazdırır.

sed ile şunları yapabilirsiniz:

Boşlukları Kaldırmak için Sed Kullanmak

Metinden boşlukları kaldırmak için aşağıdaki sözdizimini kullanacağız:

s/ REGEXP /değiştirme /bayraklar

Nerede

Düzenli ifadeler

Burada kullanacağımız bazı düzenli ifadeler şunlardır:

Gösteri amacıyla, “testfile” adlı aşağıdaki örnek dosyayı kullanacağız.

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

Dosyanızdaki tüm boşlukları bulmak için cat komutunun çıktısını tr komutuna şu şekilde aktarın:

$ kedi test dosyası | tr " " "*" | tr "\t" "&"

Bu komut, dosyanızdaki tüm boşlukları (*) sembolüyle değiştirir; bu, tekli, çoklu, baştaki veya sondaki boşluklar olsun, tüm boşlukları tespit etmeyi kolaylaştırır.

Aşağıdaki ekran görüntüsünde boşlukların * sembolü ile değiştirildiğini görebilirsiniz.

Tüm Boşlukları Kaldır (Boşluklar ve Sekmeler Dahil)

Bazı durumlarda, verilerdeki tüm boşlukları kaldırmanız gerekir.e. metinler arasındaki satır başı, sondaki boşluklar ve boşluklar. Aşağıdaki komut, tüm boşlukları “test dosyasından” kaldıracaktır.

$ kedi test dosyası | sed -r 's/\s+//g'

Not: Çıktıyı dosyaya kaydetmediğiniz sürece Sed dosyalarınızı değiştirmez.

Çıktı:

Yukarıdaki komutu çalıştırdıktan sonra, tüm boşlukların metinden kaldırıldığını gösteren aşağıdaki çıktı ortaya çıktı.

Tüm boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz.

$ kedi test dosyası | sed -r 's/\s+//g' | tr " " "*" | tr "\t" "&"

Çıktıdan, tüm boşlukların kaldırıldığı anlamına gelen (*) sembolü olmadığını görebilirsiniz.

Tüm boşlukları yalnızca belirli bir satırdan (satır 2 diyelim) kaldırmak için aşağıdaki komutu kullanabilirsiniz:

$ kedi test dosyası | sed -r '2s/\s+//g'

Baştaki Tüm Boşlukları Kaldır (Boşluklar ve Sekmeler Dahil)

Her satırın başındaki tüm boşlukları (öndeki boşluklar) kaldırmak için aşağıdaki komutu kullanın:

$ kedi test dosyası | sed 's/^[ \t]*//'

Çıktı:

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı ortaya çıktı ve bu, önde gelen tüm boşlukların metinden kaldırıldığını gösteriyor.

Tüm önde gelen boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz:

$ kedi test dosyası | sed 's/^[ \t]*//' | tr " " "*" | tr "\t" "&"

Çıktıdan, satırların başında, baştaki tüm boşlukların kaldırıldığını doğrulayan (*) sembolü olmadığını görebilirsiniz.

Yalnızca belirli bir satırdan (satır numarası 2 diyelim) baştaki boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz:

$ kedi test dosyası | sed '2s/^[ \t]*//'

Sondaki Tüm Boşlukları Kaldır (Boşluklar ve Sekmeler Dahil)

Her satırın sonundaki tüm boşlukları (sondaki boşluklar) kaldırmak için aşağıdaki komutu kullanın:

$ kedi test dosyası | sed 's/[ \t]*$//'

Çıktı:

Yukarıdaki komutu çalıştırdıktan sonra, aşağıdaki tüm boşlukların metinden kaldırıldığını gösteren aşağıdaki çıktı ortaya çıktı.

Sondaki tüm boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz.

$ kedi test dosyası | sed 's/[ \t]*$//' | tr " " "*" | tr "\t" "&"

Çıktıdan, satırların sonunda, sondaki tüm boşlukların kaldırıldığını doğrulayan (*) sembolü olmadığını görebilirsiniz.

Yalnızca belirli bir satırdan (satır numarası 2 diyelim) sondaki boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz:

$ kedi test dosyası | sed '2s/[ \t]*$//'

Hem Baştaki hem de Sondaki Boşlukları Kaldırın

Her satırın başındaki ve sonundaki tüm boşlukları kaldırmak için (i.e. hem baştaki hem de sondaki boşluklar), aşağıdaki komutu kullanın:

$ kedi test dosyası | sed 's/^[ \t]*//;s/[ \t]*$//'

Çıktı:

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı ortaya çıktı; bu, hem baştaki hem de sondaki boşlukların metinden kaldırıldığını gösterir.

Hem baştaki hem de sondaki boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz.

$ kedi test dosyası | sed 's/^[ \t]*//;s/[ \t]*$//' | tr " " "*" | tr "\t" "&"

Çıktıdan, satırların başında veya sonunda tüm baştaki ve sondaki boşlukların kaldırıldığını doğrulayan (*) sembolü olmadığını görebilirsiniz.

Yalnızca belirli bir satırdan (satır numarası 2 diyelim) hem baştaki hem de sondaki boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz:

$ kedi test dosyası | sed '2s/^[ \t]*//;2s/[ \t]*$//'

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

Bazı durumlarda, dosyada aynı yerde birden çok boşluk vardır, ancak yalnızca tek boşluk gerekir. Bunu, sed kullanarak bu çoklu boşlukları tek bir boşlukla değiştirerek yapabilirsiniz.

Aşağıdaki komut, tüm çoklu boşlukları "test dosyasındaki" her satırdaki tek boşlukla değiştirecektir.

$ kedi test dosyası | sed 's/[ ]\+/ /g'

Çıktı:

Yukarıdaki komutu çalıştırdıktan sonra, çoklu boşlukların tek boşlukla değiştirildiğini gösteren aşağıdaki çıktı ortaya çıktı.

Birden çok boşluğun tek boşlukla değiştirilip değiştirilmediğini doğrulamak için aşağıdaki komutu da kullanabilirsiniz:

$ kedi test dosyası | sed 's/[ ]\+/ /g' | tr " " "*" | tr "\t" "&"

Çıktıdan, çoklu boşlukların tüm oluşumlarının tek bir boşluk ile değiştirildiğini doğrulayan her yerde tek (*) sembolünü görebilirsiniz.

Yani, bu tamamen sed kullanarak verilerinizdeki boşlukları kaldırmakla ilgiliydi. Bu makalede, verilerinizden tüm boşlukları kaldırmak, yalnızca baştaki veya sondaki boşlukları kaldırmak ve hem baştaki hem de sondaki boşlukları kaldırmak için sed kullanmayı öğrendiniz. Ayrıca çoklu boşlukları tek boşlukla nasıl değiştireceğinizi de öğrendiniz. Yüzlerce veya binlerce satır içeren bir dosyadaki boşlukları kaldırmak artık sizin için kolay olacak.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...