日期:2014-05-16  浏览次数:20712 次

请教如何使用awk从文件中读取十六进制列的问题
原始文件内容如下:
[host@localhost ~]$ cat zzz.log 
210, 2, 2 , 0x40cc 
210, 2, 2 , 0x40ce


第三列是十六进制,现在想把第三列变成十进制如下:
210,2, 2,16588
201,2, 2,16590

小北愚笨,请教各位高人,用awk应该怎么实现?

------解决方案--------------------
探讨

楼上的,按你的方式,执行的结果不对啊。
[sunjj@h70 ~/test]$cat zzz
210, 2, 2 , 0x40cc
210, 2, 2 , 0x40ce
[sunjj@h70 ~/test]$awk -F',' '{printf("%s,%s,%s,%d\n", $1, $2, $3, $4)}' zzz
210, 2, 2 ,0
210, 2, 2 ,0