SED (Stream Editor), Unix/Linux sistemlerinde dosya veya metin akışları üzerinde düzenleme işlemleri yapmak için kullanılan güçlü bir araçtır. Genellikle otomatik metin değiştirme, silme, ekleme ve düzenleme işlemlerinde tercih edilir.
SED Komutunun Temel Yapısı
sed 'komutlar' dosya
veya
sed -e 'komut1' -e 'komut2' dosya
SED Kullanım Örnekleri
1. Basit Metin Değiştirme
Dosyadaki tüm “Mesut” kelimelerini “Ahmet” ile değiştirmek:
sed 's/Mesut/Ahmet/g' dosya.txt
s: değiştirme işlemini belirtir.g: global değişiklik (her satırdaki tüm eşleşmeleri değiştirir).
2. Belirli Satırlarda Değişiklik Yapma
Yalnızca belirli satır aralığında değişiklik yapmak için:
sed '1,5 s/eski/yeni/g' dosya.txt
- 1 ila 5. satırlar arasında “eski” kelimesini “yeni” ile değiştirir.
3. Satır Silme
Belirli bir satırı silme örneği:
sed '3d' dosya.txt
-
- satırı siler.
Belirli bir aralıktaki satırları silmek:
sed '2,4d' dosya.txt
- 2 ile 4 arasındaki tüm satırları siler.
4. Satır Ekleme
Belirli bir satırdan sonra satır eklemek:
sed '2a\Eklenen yeni satır' dosya.txt
-
- satırdan sonra “Eklenen yeni satır” metnini ekler.
Belirli bir satırdan önce satır eklemek:
sed '2i\Öncesine eklenen yeni satır' dosya.txt
-
- satırdan önce yeni satır ekler.
5. Satır Değiştirme
Belirli bir satırı tamamen değiştirmek için:
sed '2c\Bu satır tamamen değişti.' dosya.txt
-
- satırı verilen metinle tamamen değiştirir.
Birden Fazla İşlem Yapma
Aynı anda birden fazla işlem yapmak:
sed -e '1,3d' -e 's/Eski/Yeni/g' dosya.txt
- İlk üç satırı siler ve dosyadaki tüm “Eski” kelimelerini “Yeni” kelimesiyle değiştirir.
Orijinal Dosyayı Düzenlemek
Yapılan değişiklikleri doğrudan orijinal dosyaya yazmak için:
sed -i 's/eski/yeni/g' dosya.txt
-i: Değişiklikleri orijinal dosya üzerine kaydeder (yedek almak önerilir).
SED Script Dosyası Kullanımı
SED komutlarını bir script dosyasına kaydedip çalıştırmak mümkündür:
örnek.sed dosyası:
1,3d
s/Eski/Yeni/g
Bu script aşağıdaki gibi çalıştırılır:
sed -f ornek.sed dosya.txt