Заменить ближайшую следующую строку/слово после определенного шаблона

Я полагаю, что полная ошибка:

2. ERROR
tools/ranvar.cc: In member function ‘virtual double GammaRandomVariable::value()’:
tools/ranvar.cc:219:70: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly [-fpermissive]
tools/ranvar.cc:219:70: error:   for a function-style cast, remove the redundant ‘::GammaRandomVariable’ [-fpermissive]
make: *** [tools/ranvar.o] Error 1

Решением этого будет:

В ns-2.34/tools/ranvar.cc, строка 219

ЗАМЕНИТЬ

-return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

С

+return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);
0
20.10.2021, 19:09
1 ответ

Сделаем sedдля начинающих:

Вы, наверное, знаете команду substitude для замены текста типа s/old/new/. Теперь ваша строка ARG неизвестна, поэтому нужно найти что-то характерное. Например, он находится в конце строки, за которым следует двойная кавычка, и он состоит только из буквенно-цифровых символов? Здорово! Используйте класс символов [:alnum:]и привязку `$´ к строке, заканчивающейся :

.
sed 's/[[:alnum:]]*"$/new"/'

Но это должно применяться только к строке file.py. sedиспользует для этого адреса, которые могут быть номерами строк или /patterns/предшествующими команде:

sed '/file.py/s/[[:alnum:]]*"$/new"/'
0
21.10.2021, 08:37

Теги

Похожие вопросы