Konuyu Açan
#0
Sed (stream editor), Linux ve Unix sistemlerinde metin dosyaları üzerinde işlem yapmak için kullanılan güçlü bir komut satırı aracıdır. Bu yazıda, sed kullanarak dosya içinde toplu değişiklik yapmanın temel yöntemlerini inceleyeceğiz.
Sed ile çalışmaya başlamadan önce, basit bir örnekle başlayalım. Varsayalım ki elimizde "ornek.txt" adında bir dosya var ve içeriği şu şekilde:
1. Metin Değiştirme
Sed ile belirli bir metni değiştirmek için "s" (substitute) komutunu kullanırız. Örneğin, "dünya" kelimesini "evren" olarak değiştirmek istiyorsak, aşağıdaki komutu kullanabiliriz:
Burada:
2. Çoklu Değişiklikler
Birden fazla kelimeyi değiştirmek için, sed komutunu zincirleyebiliriz. Örneğin, "örnek" kelimesini "test" ve "cümle" kelimesini "metin" olarak değiştirmek için şöyle bir komut kullanabiliriz:
3. Satır Silme
Belirli bir satırı silmek için "d" komutunu kullanabiliriz. Örneğin, dosyadaki ikinci satırı silmek istiyorsak:
4. Belirli Satırlara Ekleme
Belirli satırlara metin eklemek için "i" (insert) veya "a" (append) komutlarını kullanabiliriz. Örneğin, 2. satırdan önce "Yeni satır" eklemek için:
Sonuç
Sed, metin dosyaları üzerinde hızlı ve etkili bir şekilde toplu değişiklik yapmayı sağlayan güçlü bir araçtır. Yukarıda verilen örnekler, temel sed komutlarının nasıl kullanılacağını göstermektedir. Daha karmaşık işlemler için sed'in düzenli ifadelerle kombinasyonu da oldukça faydalıdır. Bu yazıda yer alan bilgilerle kendi dosyalarınızda sed kullanarak etkili değişiklikler yapabilirsiniz.
Sed ile çalışmaya başlamadan önce, basit bir örnekle başlayalım. Varsayalım ki elimizde "ornek.txt" adında bir dosya var ve içeriği şu şekilde:
CODE
12Merhaba, dünya!
Bu bir örnek cümledir.1. Metin Değiştirme
Sed ile belirli bir metni değiştirmek için "s" (substitute) komutunu kullanırız. Örneğin, "dünya" kelimesini "evren" olarak değiştirmek istiyorsak, aşağıdaki komutu kullanabiliriz:
CODE
1sed -i 's/dünya/evren/g' ornek.txtBurada:
-iseçeneği, dosyayı yerinde değiştirir. Eğer bu seçeneği eklemezseniz, değişiklikler yalnızca ekrana yazdırılır.
s/dünya/evren/gkısmı, "dünya" kelimesinin "evren" ile değiştirilmesini sağlar. "g" ifadesi ise tüm eşleşmelerin değiştirilmesini ifade eder.
2. Çoklu Değişiklikler
Birden fazla kelimeyi değiştirmek için, sed komutunu zincirleyebiliriz. Örneğin, "örnek" kelimesini "test" ve "cümle" kelimesini "metin" olarak değiştirmek için şöyle bir komut kullanabiliriz:
CODE
1sed -i -e 's/ornek/test/g' -e 's/cümle/metin/g' ornek.txt3. Satır Silme
Belirli bir satırı silmek için "d" komutunu kullanabiliriz. Örneğin, dosyadaki ikinci satırı silmek istiyorsak:
CODE
1sed -i '2d' ornek.txt4. Belirli Satırlara Ekleme
Belirli satırlara metin eklemek için "i" (insert) veya "a" (append) komutlarını kullanabiliriz. Örneğin, 2. satırdan önce "Yeni satır" eklemek için:
CODE
1sed -i '2i Yeni satır' ornek.txtSonuç
Sed, metin dosyaları üzerinde hızlı ve etkili bir şekilde toplu değişiklik yapmayı sağlayan güçlü bir araçtır. Yukarıda verilen örnekler, temel sed komutlarının nasıl kullanılacağını göstermektedir. Daha karmaşık işlemler için sed'in düzenli ifadelerle kombinasyonu da oldukça faydalıdır. Bu yazıda yer alan bilgilerle kendi dosyalarınızda sed kullanarak etkili değişiklikler yapabilirsiniz.