解析每个字段并使用“awk”/“gawk”对其进行处理;
这是一个查询:
grep bar 'foo.txt' | awk '{print $3}'
“awk”查询发出的字段名称是损坏的 C++ 符号名称。 我想将每个传递给 dem 并最终输出'dem' 的输出 - 即分解后的符号。
假设字段分隔符是“ ”(空格)。
Here is a query:
grep bar 'foo.txt' | awk '{print $3}'
The field name emitted by the 'awk' query are mangled C++ symbol names. I want to pass each to dem and finally output the output of 'dem'- i.e the demangled symbols.
Assume that the field separator is a ' ' (space).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
awk
是一种模式匹配语言。 grep 是完全没有必要的。做你的例子所做的事情。
编辑在阅读前面答案的评论后修复了一点(我对
dem
一无所知...):您可以使用
system
在 awk 中调用,类似于:但这将为每个处理的符号生成一个
dem
实例。 效率很低。因此,让我们变得更聪明:
顺便说一句--未经测试,因为我没有
dem
或您的输入。另一个想法:如果您要使用其他发帖者提供的 xargs 公式,则 cut 可能比 awk 更有效。 然而,此时您将再次需要
grep
。awk
is a pattern matching language. Thegrep
is totally unnecessary.does what your example does.
Edit Fixed up a bit after reading the comments on the precedeing answer (I don't know a thing about
dem
...):You can make use of the
system
call in awk with something like:but this would spawn an instance of
dem
for each symbol processed. Very inefficient.So lets get more clever:
BTW-- Untested as I don't have
dem
or your input.Another thought: if you're going to use the
xargs
formulation offered by other posters,cut
might well be more efficient thanawk
. At that point, however, you would needgrep
again.怎么样
How about
这将打印分解的符号,在方法的情况下包含参数列表:
这将打印分解的符号,在方法的情况下不带参数列表:
干杯,
五、
This will print the demangled symbols, complete with argument lists in the case of methods:
This will print the demangled symbols, without argument lists in the case of methods:
Cheers,
V.