[BSD] kis sed segitseg

gabor at zahemszky.hu gabor at zahemszky.hu
2012. Sze. 30., V, 09:05:40 CEST


 On Sat, 29 Sep 2012 23:50:39 +0200, Gabor HALASZ wrote:
> Helo!
>
> sed-del szeretnem in-place kicserelni a dupla idezojeleket szimplara,
> de nem akarja:
>
> % cat /tmp/example.txt
> Szimpla zarojel: '
> Dupla zarojel: "
> % sed s/\"/\'/g < /tmp/example.txt
> Szimpla zarojel: '
> Dupla zarojel: '
> % sed -i 's/\"/\'/g' /tmp/example.txt
> Unmatched '.
> % sed -i 's/\\"/\\'/g' /tmp/example.txt
> Unmatched '.
> % sed -i 's/\\\"/\\\'/g' /tmp/example.txt
> Unmatched '.

 Mauzi mar mgirta a megoldast, en csak elmagyarazom :-)

 az a problema az eredeti megoldasoddal, hogy nem vetted figyelembe,
 hogy aposztrofon belul semmilyen specialis karakternek nincs jelentese,
 igy a backslash-nek sem. Ezzel szemben idezojelen belul a backslashnek
 (egy-ket kiveteles esetben - pl. aposztrof/idezojel elott alva) 
 megmarad
 a funkcoja, az aposztrofe viszont elveszik.

 Zahy



További információk a(z) BSD levelezőlistáról