Shell脚本------解析elf文件及awk基本使用
2013-12-05 22:43
525 查看
1.读elf文件
arm-eabi-nm *.elf
2.awk字符判断 及 if语句
3.awk打印16补齐空位
4.awk实现16进制加法
5.awk 计数
补充:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
\n 换行
\f 清屏并换页
\r 回车
\t Tab符
\xhh 表示一个ASCII码用16进表示,其中hh是1到2个16进制数
awk 的链接指向不同,可能需要:
arm-eabi-nm *.elf
2.awk字符判断 及 if语句
运算符 | 描述 |
---|---|
赋值运算符 | |
= += -= *= /= %= ^= **= | 赋值语句 |
逻辑运算符 | |
|| | 逻辑或 |
&& | 逻辑与 |
正则运算符 | |
~ ~! | 匹配正则表达式和不匹配正则表达式 |
关系运算符 | |
< <= > >= != == | 关系运算符 |
算术运算符 | |
+ - | 加,减 |
* / & | 乘,除与求余 |
+ - ! | 一元加,减和逻辑非 |
^ *** | 求幂 |
++ -- | 增加或减少,作为前缀或后缀 |
其它运算符 | |
$ | 字段引用 |
空格 | 字符串连接符 |
?: | C条件表达式 |
in | 数组中是否存在某键值 |
awk -F " " ' { if(""$2""~/T/) printf("%x, %s, %s\n", ""$1"", ""$2"", ""$3""); } '
3.awk打印16补齐空位
#!bin/sh arm-eabi-nm 1.test.axf | awk -F " " ' { if(""$2""~/T/) printf("0x%08x, %s, %s\n", ""$1"", ""$2"", ""$3""); } '
4.awk实现16进制加法
#!bin/sh arm-eabi-nm 1.test.axf | awk -F " " ' { if(""$2""~/T/) printf("%d, %s, %s\n", ""$1+1"", ""$2"", ""$3""); else printf("%d, %s, %s\n", ""$1"", ""$2"", ""$3""); } '
5.awk 计数
#!bin/sh arm-eabi-nm 1.test.axf | awk -F " " ' { if(""$2""~/T/) printf("%d %s %s\n", ""$1+1"", ""$2"", ""$3""); else printf("%d %s %s\n", ""$1"", ""$2"", ""$3""); } '| awk -F " " ' BEGIN{i=0;} { i++; printf("{0x%08x, %s},\n", ""$1"", ""$3""); } END{printf("i=%d\n",i)} '
补充:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
\n 换行
\f 清屏并换页
\r 回车
\t Tab符
\xhh 表示一个ASCII码用16进表示,其中hh是1到2个16进制数
awk 的链接指向不同,可能需要:
echo a36b | gawk ' { printf "input is :%s\n",strtonum("0x" $0)}'
相关文章推荐
- Shell脚本------解析elf文件及awk基本使用
- 如何方便的使用shell脚本来解析xml文件
- 存储过程使用shell脚本执行sql文件
- 采用Shell及AWK脚本实现磁盘使用空间监控
- 使用inotify实现实时文件同步的shell脚本
- 使用getopt命令解析shell脚本的命令行选项 【转】
- shell脚本编程-例子_使用expect下载ftp文件
- shell脚本:shell的基本元素-7 特殊文件:/dev/null与/dev/tty
- 使用getopt命令解析shell脚本的命令行选项
- 在shell脚本里使用sftp批量上传文件
- 使用shell脚本往文件中加一列
- BASH命令和SHELL脚本总结(18)使用ACK在指定类型的文件中进行查找
- 使用ofd6x工具解析elf文件
- ELF格式文件符号表全解析及readelf命令使用方法
- 如何在shell脚本里使用sftp批量传送文件
- 8.15_Linux之bash shell脚本编程入门篇(二)以及文件查找和压缩的使用
- 数组-在Shell脚本中的基本使用介绍
- 使用php调用shell脚本同步文件
- shell脚本按行读取文件并解析
- Java解析ELF文件:使用Java读取文件头部、节区头部表、程序头部表