Discussion

Linux sed ile Birden Fazla Kelime Değiştirme

Started by ZeroLatency · 13 Aug 2026 09:51 · 5 Views · 0 Replies
Thread Starter #0
Sed (stream editor), metin dosyaları üzerinde düzenleme işlemleri yapmak için kullanılan güçlü bir komut satırı aracıdır. Birden fazla kelimeyi değiştirmek için sed kullanmak, metin manipülasyonu ve otomasyonu açısından oldukça faydalı olabilir. Bu yazıda, sed ile birden fazla kelimeyi nasıl değiştirebileceğinizi detaylı bir şekilde inceleyeceğiz.

Sed komutu, genellikle şu şekilde kullanılır:

CODE
1sed 's/eski_kelime/yeni_kelime/g' dosya_adı.txt


Bu örnekte, "eski_kelime" ifadesi "yeni_kelime" ile değiştirilir. Ancak birden fazla kelimeyi değiştirmek istediğinizde, sed komutunu birden fazla "s" (substitute) ifadesi ile birleştirebilirsiniz. Örneğin:

CODE
1sed -e 's/birinci_kelime/ilk_kelime/g' -e 's/ikinci_kelime/yeni_kelime/g' dosya_adı.txt


Burada "-e" seçeneği, birden fazla ifade eklemenizi sağlar. Yukarıdaki örnekte, "birinci_kelime" ifadesi "ilk_kelime" ile, "ikinci_kelime" ifadesi ise "yeni_kelime" ile değiştirilir.

Bir başka yöntem ise, bir dosyadaki kelimeleri bir dizi olarak tanımlamak ve bu diziyi sed ile birlikte kullanmaktır. Örneğin:

CODE
1sed 's/\(birinci_kelime\|ikinci_kelime\)/yeni_kelime/g' dosya_adı.txt


Bu komut, hem "birinci_kelime" hem de "ikinci_kelime" ifadelerini "yeni_kelime" ile değiştirecektir. Burada, \| operatörü birden fazla kelime arasında alternatif oluşturarak, her iki kelimeyi de hedef alır.

Son olarak, sed komutunu bir dosyayı kalıcı olarak değiştirmek için "-i" seçeneği ile kullanabilirsiniz:

CODE
1sed -i -e 's/birinci_kelime/yeni_kelime/g' -e 's/ikinci_kelime/yeni_kelime/g' dosya_adı.txt


Bu komut, "dosya_adı.txt" dosyasındaki belirtilen kelimeleri kalıcı olarak değiştirir.

Sed komutunun esnekliği sayesinde, metin dosyalarındaki birden fazla kelimeyi hızlı ve etkili bir şekilde değiştirmek mümkündür. Bu teknikler, dosya düzenleme işlemlerini otomatikleştirirken zaman kazandırır ve hata oranını düşürür.

You must be logged in to reply.

0 quotes selected