LINUX.ORG.RU

подскажите с регуляркой для sed. (часть 2)


0

1

привет.

имеется строка на с++ коде вида: ar.read(&var, ....);

нужно заменить ее на: ar.read(reinterpret_cast<char*>(&var), ....);

одна оговорка: имя переменной которое передается в ar.read() должно остаться неизменным.

я бы проделал этот трюк руками, но функций около 260 %)

очень признателен.

★★★

Последнее исправление: niXman (всего исправлений: 1)

$ echo «ar.read(&var,1,2);» | sed «s/\(ar.read(\)\([^,]*\),/\1reinterpret_cast<char*>(\2),/g» ar.read(reinterpret_cast<char*>(&var),1,2);

anonymous
()
Ответ на: комментарий от anonymous
$ echo "ar.read(&var,1,2);" | sed "s/\(ar.read(\)\([^,]*\),/\1reinterpret_cast<char*>(\2),/g"
ar.read(reinterpret_cast<char*>(&var),1,2);
anonymous
()

sed -r -i -e 's/ar.read\((&[^,]+),/ar.read(reinterpret_cast<char*>(\1),/g' <file>

AITap ★★★★★
()
Последнее исправление: AITap (всего исправлений: 1)

всем огромное спасибо!

вопрос закрыт.

niXman ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.