考虑具有以下内容的输入文件:
RANDOM CONTENTS1
FN:4,_Z1fv
FN:5,_Z1gv
RANDOM CONTENTS2
需要在输入txt文件中搜索mangled符号,并将其替换为demangled名称,然后将其打印为如下输出:
RANDOM CONTENTS1
FN:4,f()
FN:5,g()
RANDOM CONTENTS2
假设,没有其他行会有逗号后跟下划线。因此,我可以使用“,(_.*)”来捕获input.txt文件中的损坏符号。
当我在tcsh shell中使用下面的命令时,它不起作用。输出仍然与input.txt相同。我无法解释原因。
sed "s#,\(_.*\)#,`echo \\1 | /usr/bin/c++filt`#" input.txt
命令有什么问题吗?
2条答案
按热度按时间kpbwa7wx1#
我认为使用perl可以更容易地完成。
8wtpewkr2#
在shell中运行此命令