Sed, bir "stream editor" yani akış düzenleyicisidir. Metin dosyaları üzerinde temel metin manipülasyonları gerçekleştirmek için kullanılan güçlü bir komut satırı aracıdır. Genellikle bir dosyayı satır satır okuyarak, her satıra belirtilen komutları uygular ve sonucu standart çıktıya (stdout) yazar. Sed, dosyadaki içeriği doğrudan değiştirmek yerine, genellikle değiştirilmiş bir çıktısını üretir. Ancak, -i
(in-place) seçeneği ile dosyanın içeriğini doğrudan değiştirmek de mümkündür.
Temel Kullanım Alanları:
Temel Sözdizimi:
sed 'komut' dosyaadı
sed 's/eski_metin/yeni_metin/g' dosya.txt # Örnek: Global olarak bul ve değiştir
Burada:
sed
: Komutun adı.'komut'
: Sed'in uygulayacağı komut. Komutlar genellikle tek tırnak içinde belirtilir.dosyaadı
: İşlem yapılacak dosyanın adı. Dosya adı belirtilmezse, standart girdiden (stdin) okur.Önemli Komutlar:
s/eski/yeni/g
: Bul ve değiştir komutu. g
(global) parametresi, satırdaki tüm eşleşmeleri değiştirir.d
: Silme komutu.a
: Ekleme komutu (satırın sonrasına ekler).i
: Ekleme komutu (satırın öncesine ekler).p
: Yazdırma komutu (satırı yazdırır).n
: Sonraki satırı okuma komutu.Regex (Düzenli İfadeler) Desteği:
Sed, metin kalıplarını tanımlamak için düzenli ifadeleri (regular expressions) destekler. Bu, daha karmaşık arama ve değiştirme işlemlerini mümkün kılar.
Örnekler:
sed 's/elma/armut/g' dosya.txt
: dosya.txt
içindeki tüm "elma" kelimelerini "armut" ile değiştirir.sed '/^#/d' dosya.txt
: #
ile başlayan tüm satırları siler.sed '3a Yeni bir satır' dosya.txt
: dosya.txt
'in 3. satırından sonra "Yeni bir satır" ekler.sed -i 's/eski/yeni/g' dosya.txt
: dosya.txt
dosyasındaki tüm "eski" metinlerini "yeni" ile değiştirir ve dosyayı doğrudan günceller (in-place editing). Dikkatli kullanılmalıdır.Sed, komut satırında metin işleme görevlerini otomatikleştirmenize yardımcı olan çok yönlü bir araçtır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page