考虑一个包含以下内容的输入文件:
RANDOM CONTENTS1
FN:4,_Z1fv
FN:5,_Z1gv
RANDOM CONTENTS2需要在输入的txt文件中查找损坏的符号,并将其替换为其拆分的名称,并将其打印为如下输出:
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这个命令有什么问题?
发布于 2018-12-19 03:47:11
我认为使用perl可以更容易地完成这项工作。
perl -i.bak -pe 'chomp($_ = qx{echo \"$_\" | /usr/bin/c++filt}) if /,_/' input.txthttps://stackoverflow.com/questions/53834524
复制相似问题