正则表达式 – Bash – 如何计算指令数?

我有许多* .s程序集文件.我想计算它们包含多少指令.例如,要计算我所做的所有mul指令:

cat *.s | grep -P '\t'"mul" | wc -l

这给了我所有mul指令的复合数.

我想有一个输出像:

mul: 893
add: 12054
sub: 2356
...

问题是目标平台不支持指令表.每个目标平台都有不同的指令集.必须从现有的程序集文件中推导出支持的指令.我可以在没有Perl / Python代工厂的情况下在Bash中完成吗?

解决方法:

你可以像这样得到所有这些:

grep -hP '^[ \t]+[a-z]*' *.s | sed 's/^[ \t]\+\([a-z]*\).*/\1/' | sort | uniq -c

编辑:我将其更改为使用SiegeX提供的示例.

输出

1 call
6 mov
1 push
1 ret
2 syscall
2 xor

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...