sed查找并替换Cpp文件(.C)

时间:2016-08-25 10:36:59

标签: sed

我遇到编辑巨大C++文件的问题,我正在使用sedList(something)转换为List<something>为什么我这样做是因为我们的列表已转换为模板。

我用小shell文件编写的命令就像这样

sed -i '/List/s/(/</g' $1 
sed -i '/List/s/)/>/g' $1

但是这个命令将整个与List相关的行转换为角括号,如

some_Fun(List(something))some_Fun<List<something>>

我不希望sed更改some_Fun<>sed应保留some_Fun()并仅List()更改为List<>

1 个答案:

答案 0 :(得分:1)

您可以使用此sed

sed 's/\(List\)(\([^)]*\))/\1<\2>/g' file

(OR)

sed 's/List(\([^)]*\))/List<\1>/g' file