我遇到编辑巨大C++
文件的问题,我正在使用sed
将List(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<>
。
答案 0 :(得分:1)
您可以使用此sed
:
sed 's/\(List\)(\([^)]*\))/\1<\2>/g' file
(OR)
sed 's/List(\([^)]*\))/List<\1>/g' file