Belgelerdeki boşlukları kaldırmak, metnin genel düzenini iyileştirmek ve verileri temiz ve düzenli tutmak için gerekli olan önemli bir biçimlendirme adımıdır. Yalnızca gerekli verilerin depolanmasına ve gereksiz baştaki ve sondaki boşlukların ortadan kaldırılmasına yardımcı olur. Boşlukları kaldırmanız gerekebilecek bazı senaryolar şunlardır:
- Kaynak kodunu yeniden biçimlendirmek için
- verileri temizlemek için
- Komut satırı çıktısını basitleştirmek için
Girintiler hakkında konuşursak, 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şır.
Belgenizdeki boşlukları kaldırmak için awk, sed, cut ve tr gibi farklı araçları kullanabilirsiniz. Diğer bazı makalelerde, boşlukları kaldırmak için awk kullanmayı tartıştık. Bu yazıda, verilerden boşluk kaldırmak için sed kullanmayı tartışacağız.
sed’i nasıl kullanacağınızı öğreneceksiniz:
- Tüm boşlukları kaldır
- Baştaki boşlukları kaldır
- Fazla boşlukları kaldır
- Hem baştaki hem de sondaki boşlukları kaldırın
- Birden çok boşluğu tek boşluklarla değiştirin
Komutları Ubuntu 20.04 Focal Fossa üzerinde çalıştıracağız. 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. Cihazın kilidini açmak için Ctrl + Alt + T klavye kısayolunu kullanın.
Sed nedir?
Sed (Stream Editor anlamına gelir), giriş akışlarında temel komut dosyası işlemlerini gerçekleştirmemizi sağlayan çok kullanışlı ve güçlü bir Linux yardımcı programıdır. Bu bir metin düzenleyici değildir, ancak metin işleme ve filtrelemeye yardımcı olur. Girdi akışlarını alır ve bunları kullanıcının talimatlarına göre düzenler, ardından dönüştürülen metni ekrana yazdırır.
Sed ile şunları yapabilirsiniz:
- metni seç
- Arama metni
- Yazı ekle
- metni değiştir
- ben torrent
Boşlukları kaldırmak için sed kullanın
Metinden boşlukları kaldırmak için aşağıdaki formülü kullanacağız:
s/ REGEXP /değiştirme /medya
nerede
- s/: dir değiştirme ifadesi
- REGEXP: eşleştirilecek normal bir ifadedir
- değiştirme: değiştirme dizesidir
- medya: Her satırda genel olarak değiştirmeyi etkinleştirmek için “g” etiketini kullanacağız
düzenli ifadeler
İşte kullanacağımız bazı normal ifadeler:
- ^ Satırın başlangıcıyla eşleşir
- $ maçlar yolun sonu
- + Önceki karakterin bir veya daha fazla oluşumuyla eşleşir
- * Önceki karakterin sıfır veya daha fazla tekrarıyla eşleşir.
Açıklama amacıyla, aşağıdaki ‘testfile’ adlı bir dosya örneğini kullanacağız.
Bir dosyadaki tüm boşlukları göster
Dosyanızdaki tüm boşlukları bulmak için cat komutunun çıktısını tr komutuna şu şekilde iletin:
$ kedi deneme dosyası |varış“”“*”|varış“\ T““&”
Bu komut, dosyanızdaki tüm boşlukları kaldıracaktır.
sembolü ile değiştirir; Bu, tekli, çoklu, baştaki veya sondaki tüm boşlukların algılanmasını kolaylaştırır.
Tüm boşlukları ve sekmeleri içeren örnek dosya
Tüm boşlukları kaldırın (boşluklar ve sekmeler dahil)
Bazı durumlarda, verilerdeki tüm boşlukları, yani baştaki, takip eden ve metinler arasındaki tüm boşlukları kaldırmanız gerekir. Aşağıdaki komut, Test Dosyasındaki tüm boşlukları kaldıracaktır. $ kedi deneme dosyası|Bey -r‘s/\s+//
G’ hayır:
Çıktıyı dosyaya kaydetmediğiniz sürece Sed dosyalarınızı değiştirmeyecektir.
Üretmek:
Yukarıdaki komutu çalıştırdıktan sonra, metinden tüm boşlukların kaldırıldığını gösteren aşağıdaki çıktı çıktı.
Tüm boşlukların kaldırılıp kaldırılmadığını kontrol etmek için aşağıdaki komutu da kullanabilirsiniz. $ kedi deneme dosyası|Bey-r‘s / \ s + // g’|varış“”“*”|varış“\ T“
“&”
çıktıdan, yani tüm boşlukları kaldır
Simge olmadığını görebilirsiniz. Yalnızca belirli bir satırdaki (2. satır diyelim) tüm boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz: $ kedideneme dosyası|Bey
-r
“2s/\s+//g”
Baştaki tüm boşlukları kaldırın (boşluklar ve sekmeler dahil) Her satırın başındaki tüm baştaki boşlukları (girintileri) kaldırmak için aşağıdaki komutu kullanın: $ kedideneme dosyası|[ \t]Bey
/ ^
* //’
Üretmek:
Yukarıdaki komutu çalıştırdıktan sonra, tüm baştaki boşlukların metinden kaldırıldığını gösteren aşağıdaki çıktı çıktı. Baştaki tüm boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz: $ kedideneme dosyası|[ \t]Bey/ ^* //’|varış“”“*”|varış“\ T
“
“&”
Satırların başındaki tüm önde gelen boşlukların kaldırıldığı çıktısını doğrular Simge olmadığını görebilirsiniz. Girintileri yalnızca belirli bir satırdan kaldırmak için (satır # 2 deyin), aşağıdaki komutu kullanabilirsiniz: $kedideneme dosyası[ \t]|
Bey
2s/^
* //’ Tüm fazla boşlukları kaldırın (boşluklar ve sekmeler dahil) Her satırın sonundaki tüm fazla boşlukları (izleme boşlukları) kaldırmak için aşağıdaki komutu kullanın: $kedideneme dosyası[ \t]|
Bey
‘s/
* $ //’
Üretmek: 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ı çıktı. Sondaki tüm boşlukların kaldırıldığını kontrol etmek için aşağıdaki komutu da kullanabilirsiniz. $kedideneme dosyası[ \t]|Bey‘s/* $ //’|varış“”“*”|varış“
\ T
“
“&” Çıktıdan, satırların sonundaki tüm boşlukların kaldırıldığını onaylar. Simge olmadığını görebilirsiniz. Yalnızca belirli bir satırdan (2. satır diyelim) sondaki boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz:$kedi[ \t]deneme dosyası
|
Bey
‘2s/ * $ //’ Hem baştaki hem de sondaki boşlukları kaldırın Her satırın başındaki ve sonundaki tüm boşlukları (yani baştaki ve sonundaki boşlukları) kaldırmak için aşağıdaki komutu kullanın:$kedi[ \t]deneme dosyası[ \t]|
Bey
/ ^
*//;s/
* $ //’ Üretmek: Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı çıktı; Bu, metinden hem baştaki hem de sondaki boşlukların kaldırılması anlamına gelir. Hem baştaki hem de sondaki boşlukların kaldırıldığını doğrulamak için aşağıdaki komutu da kullanabilirsiniz.$kedi[ \t]deneme dosyası[ \t]|Bey/ ^*//;s/* $ //’|varış“”“*”|varış
“
\ T
” “&” Satırların başında veya sonunda tüm baştaki ve sondaki boşlukların çıktıdan kaldırıldığını doğrular Simge olmadığını görebilirsiniz.Yalnızca belirli bir satırdan (2. satır diyelim) hem baştaki hem de sondaki boşlukları kaldırmak için aşağıdaki komutu kullanabilirsiniz:$[ \t]kedi[ \t]deneme dosyası
|
Bey
2s/^
* //; 2 saniye / * $ //’ Birden çok boşluğu tek bir boşlukla değiştirin Bazı durumlarda, dosyada aynı yerde birden fazla boşluk vardır, ancak yalnızca bir tanesi gereklidir. Bunu, sed kullanarak bu çoklu boşlukları tek bir boşlukla değiştirerek yapabilirsiniz.Aşağıdaki komut, Test Dosyasındaki tüm çoklu boşlukları her satırdan bir boşlukla değiştirecektir.$[ ]kedi
deneme dosyası
|
Bey
‘s/ \ + / / g’ Üretmek: Yukarıdaki komutu çalıştırdıktan sonra, birden çok boşluğun tek boşluklarla değiştirildiğini gösteren aşağıdaki çıktı çıktı.Birden çok boşluğun tek boşluklarla değiştirilip değiştirilmediğini kontrol etmek için aşağıdaki komutu da kullanabilirsiniz:$[ ]kedideneme dosyası|Bey‘s/\ + / / g’|varış“”“*”|
varış
“
\v”&” çıktısından, birden çok boşluğun tüm oluşumlarının tek bir boşlukla değiştirilip değiştirilmediğini her yerde kontrol eder. Sembolü görebilirsiniz. Yani, bu tamamen sed kullanarak verilerinizden boşlukları kaldırmakla ilgiliydi. Bu makalede, verilerinizdeki tüm boşlukları kaldırmak, yalnızca baştaki veya sondaki boşlukları kaldırmak, hem baştaki hem de sondaki boşlukları kaldırmak için sed’i nasıl kullanacağınızı öğrendiniz. Ayrıca, birden çok boşluğu tek bir boşlukla nasıl değiştireceğinizi de öğrendiniz. Artık boşlukları kaldırmak çok kolay olacak. yüzlerce veya binlerce satır içeren bir dosya.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın