我想替换一个类似以下的模式:
尝试使用命令:
make_pair(obj1.get<1>(), obj2.get<2>());
to:
make_pair(get<1>(obj1), get<2>(obj2));
尝试使用命令:
sed -i'' -e 's/(\(.*\)./get<1>(\1)/g' file_name
,但结果错误。如何捕获模式之前的标记?请注意,它还应该适用于字符串make_pair(obj1[I].get<1>(), obj2[I].get<2>());
。
sed -i'' -E 's/([[:alnum:]_]*)\.get(<[^><]*>)\(\)/get\2(\1)/g' filename
。请参见demo。 - Wiktor Stribiżew