Shell脚本十六进制到十进制

时间:2015-03-12 09:04:05

标签: android shell

我有一个文件如何捕获txt文件中的用户事件:

/dev/input/event2: 0003 0039 0000001d
/dev/input/event2: 0003 0035 00000169

现在我将创建一个shell脚本,如何将十六进制数据转换为十进制,例如我希望:

/dev/input/event2: 3 57 29
/dev/input/event2: 3 53 361

我该如何处理?我试图逐行读取文件并拆分字符串,但它没有工作..

1 个答案:

答案 0 :(得分:0)

如果您使用gawk,则可以执行以下操作。 input.txt是您捕获事件的文件。

$ awk '{printf "%s ", $1;for(i=2;i<=NF;i++){v="0x"$i;printf "%d ",strtonum(v)};printf "\n";}' input.txt 
/dev/input/event2: 3 57 29 
/dev/input/event2: 3 53 361