Vi’den farklı olarak metin dosyasının içerisine girmek gibi bir durum yoktur. İşlem metin dışında halledilir yahut burada öğreneceğiniz yöntemleri vi içerisinde komut modunda kullanabilirsiniz. Ancak sed genellikle komut satırından ayrılmadan anlık yapılması gereken değişiklikleri gerçekleştirmek için kullanılır.

Sed, bir dosyadan yahut klavyeden gelen bir girdiye göre gelen bilgiyi okur, kendisine verilmiş görev dahilinde manipülasyonunu yapar ve ekrana çıktıyı verir. Eğer “>” karakteri ile çıktı bir dosyaya yönlendirilmezse, sadece ekrana verdiği çıktıda değişiklik yapılmış olur. Asıl dosyada yahut klavyeden girilen değerlerde bir değişiklik olmaz.

Parametre Açıklama
-e Birden fazla sed opsiyonu tanımlamamızı sağlar.
-f Sed komutlarının olduğu bir bash script dosyasını çalıştırır.
n Çalıştırılan komutun komut satırına çıktı vermesini engeller.
p Yazıya dök.
d Yazıyı siler.
r Dosyayı oku.
s Bul ve değiştir.
w Dosyaya yaz.
\i Aktif satırın üstüne ekleme yapar.
\a Aktif satırın altına ekleme yapar.
\c Aktif satırı verilen kelime ile değiştirir.
.*[]^$\& Bu karakterin farklı anlamları olduğu için dikkatli kullanılması gerekir.
^ Satır başını işaret eder.
$ Satır sonunu işaret eder.
. Herhangi bir harf anlamına gelir.

Örnekler

  • Log dosyasındaki ilk 20 satırı silip kayıt edecek kayıt edecek sed komutu
sed '1,20d' /var/log/secure > secure_log
  • Site konfigürasyon dosyasındaki bütün “example” kelimesini “kek” olarak değiştirecek komut
sed 's/example/kek/g' /etc/nginx/conf.d/site.conf
  • Satır başına Pts olan ile satırı bulup Pazartesi olarak değiştiren komut
sed 's/^Pts/Pazartesi/' dosya
  • Dosyadaki tüm Pts ile başlaşlayan paragrafları Pazartesi olarak değiştiren komut
sed 's/^Pts/Pazartesi/g' dosya
  • Her satır sonuna EOL kelimesi ekleyecek komut
sed 's/$/EOL/' dosya
  • Satırlar arasında boş satırları silen sed komutu
sed -e 's/^$//' -e '//d' dosya
  • Konfigürasyon dosyasındaki 100 ve 425. Satırlar arasındasında # işareti ile başlayanların kaldırılması için gerekli sed komutu
sed '100,425s/#//' /etc/config.conf
  • Her satır başındaki ilk harfi silen sed komutu
sed 's/^.//' dosya