Giriş
Metin dosyalarıyla çalışırken, yapılandırma dosyalarından yorum satırlarını temizlemek, log dosyalarındaki boş satırları kaldırmak veya veri setlerinden belirli aralıkları silmek gibi işlemler sıklıkla ihtiyaç duyulan görevlerdir. sed (stream editor), bu işlemleri dosyayı bir editörle açmadan, komut satırı üzerinden hızlıca yapmanızı sağlayan güçlü bir araçtır.
Temel Mantık
sed, girdiyi satır satır işler ve belirtilen komutları uygular. Varsayılan olarak sonuçları standart çıktıya (ekrana) yansıtır; orijinal dosyayı değiştirmez. Değişiklikleri kalıcı hale getirmek için -i (in-place) parametresi kullanılır.
Adım Adım Satır Silme Yöntemleri
- Belirli Bir Satırı Silme: 3. satırı silmek için şu komutu kullanın:
sed '3d' dosya.txt - Son Satırı Silme: Dosya uzunluğunu bilmeden son satırı silmek için
$karakteri kullanılır:sed '$d' dosya.txt - Satır Aralığı Silme: 3 ile 6 arasındaki satırları silmek için:
sed '3,6d' dosya.txt - Desene Göre Satır Silme: İçinde 'hata' geçen tüm satırları silmek için:
sed '/hata/d' dosya.txt
Uyarı:-iparametresini kullanmadan önce her zaman çıktıyı önizleyin. Yanlışlıkla veri kaybetmemek içinsed -i.bak '...' dosya.txtkomutu ile yedek alarak çalışmak en güvenli yöntemdir.
İleri Seviye Kullanım
sed ile sadece basit silme işlemleri değil, düzenli ifadeler (regex) kullanarak karmaşık filtrelemeler de yapabilirsiniz. Örneğin, sadece boş satırları değil, içinde sadece boşluk karakteri olan satırları da temizlemek için:
sed '/^[[:space:]]*$/d' dosya.txtBirden fazla işlemi tek bir komutta birleştirebilirsiniz. Örneğin, hem yorum satırlarını silip hem de bir kelimeyi değiştirmek için:
sed '/^#/d; s/eski/yeni/g' dosya.txtSonuç
sed, metin işleme süreçlerinde vazgeçilmez bir yardımcıdır. Numaraya, desene veya aralığa dayalı silme işlemleri, otomasyon scriptlerinizde dosya temizliği yaparken size büyük zaman kazandırır. Daha karmaşık veri manipülasyonları için awk komutuna göz atmanız önerilir.



