linux两个数字正则,正则表达式-Linux readelf显示具有不同数字系...

我正在研究ELF文件中的一些对象,并为此目的使用了readelf.

这个readelf样本显示了第3列上对象的大小(字节),

在大型物体上,readelf以十六进制而不是dec打印,

这打断了我的尺寸排序尝试. (排序忽略十六进制值)

Num: Value Size Type Bind Vis Ndx Name

1369: 808ec6e8 2048 OBJECT LOCAL DEFAULT 26 _ZN2cvL12NNDeltaTab_iE

1370: 8086e6e8 0x20000 OBJECT LOCAL DEFAULT 26 _ZN2cvL13Lanczos4Tab_iE

我试图将所有十六进制转换为dec,如下所示:

readelf -sW target.elf | perl -pe 's/(0x)?[0-9a-f]{5,}/hex $&/ge' | sort -k 3 -n -r

并得到

1369: 2156840680 2048 OBJECT LOCAL DEFAULT 26 _ZN2cvL12NNDeltaTab_iE

1370: 2156324584 131072 OBJECT LOCAL DEFAULT 26 _ZN2cvL13Lanczos4Tab_iE

size列(3)转换为dec,这很好,

而且第2列也转换为dec,这是不好的.

我找到了这个:

perl -lane '$F[1]=~tr/A/B/;print join("\t", @F)' file

但是我似乎无法结合这两个命令.

如何仅将第3列转换为dec?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值