[BSD] kis sed segitseg

Gabor HALASZ halasz.g at freemail.hu
2012. Sze. 30., V, 20:06:37 CEST


On 9/30/2012 9:05 AM, gabor at zahemszky.hu wrote:
> 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 :-)
>

Sem a megoldassal, sem a magyarazattal nem vagyok teljesen megelegedve.
Persze ez lehetne az en privat nyavajam is, de sajnos ehhez az 
elegedetlenkedeshez tarsakat is talaltam:

% sed -i "s/\"/'/g" /tmp/example.txt
Unmatched '.

A csh is reklamal:

% echo  "s/\"/'/g"
Unmatched '.

A bash teljesen beteg lesz:

$ % echo "s/\"/'/g"
bash: fg: %: no such job

A bash+sed paros meg inkabb:

$ sed -i "s/\"/'/g" example.txt
sed: 1: "example.txt": invalid command code e





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