linux 下nm命令输出,使用awk解析nm命令的输出 - Linux Bash

这听起来这样从您的评论可能是你真正寻找:

$ cat tst.awk

{

size = strtonum("0x"$1)

sub(/^([^[:space:]]+[[:space:]]+){2}/,"")

name = $0

}

NR==FNR { oldSize[name] = size; next }

{

newSize[name] = size

if (name in oldSize) {

if (oldSize[name] < newSize[name]) {

bigger[name]

}

else if (oldSize[name] > newSize[name]) {

smaller[name]

}

}

else {

added[name]

}

}

END {

print "Got bigger:"

for (name in bigger) print "\t" name, oldSize[name], "->", newSize[name]

print "Got smaller:"

for (name in smaller) print "\t" name, oldSize[name], "->", newSize[name]

print "Added:"

for (name in added) print "\t" name

print "Deleted:"

for (name in oldSize) if (!(name in newSize)) print "\t" name

}

$ gawk -f tst.awk

Got bigger:

Mac16x11 92 -> 93

Got smaller:

L_mac 66 -> 65

Added:

extract_h

Deleted:

G729Residu

上面使用GNU AWK为strtonum(),并在这些2输入文件运行:

$ cat file1

000000000000000b r __PRETTY_FUNCTION__.6473

0000000000000036 t L_mult

000000000000003a t sature32

0000000000000042 t L_mac

0000000000000048 t L_add

000000000000005c t Mac16x11

0000000000000077 t L_shl

0000000000000083 t L_shr

00000000000000df T G729Convolve

0000000000000114 T G729Residu

00000000000001bc T G729Syn_filt_L_H

00000000000001bc T G729Syn_filt_L_SUBFR

$ cat file2

000000000000000b r __PRETTY_FUNCTION__.6473

0000000000000017 t extract_h

0000000000000036 t L_mult

000000000000003a t sature32

0000000000000041 t L_mac

0000000000000048 t L_add

000000000000005d t Mac16x11

0000000000000077 t L_shl

0000000000000083 t L_shr

00000000000000df T G729Convolve

00000000000001bc T G729Syn_filt_L_H

00000000000001bc T G729Syn_filt_L_SUBFR

只要与相应nm ...替换每个cat file。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值