[Pardus-kullanicilari] betikle dosyada değişiklik yapmak...

Ozan Çağlayan ozancag at gmail.com
27 Tem 2009 Pzt 10:13:39 EEST


Selim Tavşan wrote On 27-07-2009 09:58:
> Merhaba,
> 
> ufak bir sorum olacak. elimizde bir metin dosyası olsun. dosyanın adı ve
> konumu şöyle olsun.
> 
> /home/Selim/meyve.txt
> 
> bu dosyada geçen iki kelimeyi değiştirmek isteyelim.
> örneğin: "elma" kelimesini "armut" ile değiştirelim,  ikinci olarak "kiraz"
> kelimesini "kiraz biraz" ifadesiyle değiştirelim.
> dosyanın ilk içeriği şöyle olsun.
> ----------
> Masada iki elma var.
> 
> Pazardaki kiraz iyiydi.
> --------
> değişiklikten sonra şöyle olsun:
> --------
> Masada iki armut var.
> 
> Pazardaki kiraz biraz iyiydi.
> --------
> 
> bash ile nasıl, python ile nasıl yaparız?

sed -i 's/elma/armut/g' meyve.txt
sed -i 's/kiraz/kiraz biraz/g' meyve.txt

-i parametresi meyve.txt'nin üzerinde doğrudan değişiklik yapmayı sağlıyor.
'' içerisinde ilgili sed ifadesi yazılıyor. En kullanılanı değişiklik yapmak yani substitution yani 's'.

Örnek:
's/degistirilecek_ifade/yerine_konacak_ifade/'

Bu sadece ilk gördüğü degistirilecek_ifade'yi yerine_konacak_ifade ile değiştirir. Yani 2 elma olsaydı, sadece ilkini armut yapacaktı.

's/degistirilecek_ifade/yerine_konacak_ifade/g'

en sonuna bir g koyulduğunda tüm ifadeleri değiştiriyor.


-- 
Ozan Çağlayan



Pardus-kullanicilari mesaj listesiyle ilgili daha fazla bilgi