2011-11-10 30 views
5

şöyle bir dosyayı example olduğu ileri sürüldü. Sonra bunu:bir dosyada dize değiştirmek sed sadece bir kez

sed -i 's/a/e/' example 

ve tüm ae değiştirildi.

Bir dosyada sadece bir kez değiştirmenin bir yolu var mı?

Teşekkürler.

+4

Olası kopya: http://stackoverflow.com/questions/148451/how-to-use-sed-to-replace-only-the-first-occurrence-in-a-file – Aziz

cevap

10

Aziz'in bilgi uygulama 'Sorunuzun yinelenen bağlantı, bu dava için size istenilen sonucu verecektir düşünüyorum:

sed -i '0,/a/s//e/' example 
+3

Daha fazla okunabilirlik için 'sed -i 0,/a/s/a/e /' 'yazılmalıdır –

4

Aziz'in bilgi uygulama' Sorunuzun yinelenen bağlantı, Bunun dava için size istenilen sonucu verir mi :

sed -i '0,/a/s//e/' example 

Rabe'in cevabı iyidir. Ancak, adres aralığı ve 's' komutu arasında boşluk ekleyerek onu daha net hale getirir. Böyle :

sed -i '0,/a/ s//e/' example 

Ve Wilson'un versiyonu gereksiz görünüyor.