Shell脚本------解析elf文件及awk基本使用

原创 2013年12月05日 22:43:34

1.读elf文件


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)}'


linux 查看elf相关命令

介绍几个在查看elf文件动态链接库会用到的几个命令: ldd:用于打印程序或者库文件所依赖的共享库列表。 ldd命令并不是可执行程序,而只是shell脚本。 readelf: 命令是一个有很多特性...

Shell脚本------解析elf文件及awk基本使用

1.读elf文件 arm-eabi-nm *.elf 2.awk字符判断 及 if语句 运算符 描述 赋值运算符 = += -= *= /= %= ^= ...

shell脚本-awk使用

shell脚本之awk使用 问题:什么是AWK?有什么用?怎么用? 解答 AWK是3个创始人的名字首写缩写,用于文本日志处理等的命令. 使用 #!bin/bash ##awk Test ...

如何方便的使用shell脚本来解析xml文件

最近在项目中,需要用到shell脚本来解析xml文件。在网上搜了一下,发现有xmlsh等可以用,但是都需要下载安装,使用比较麻烦,后来经过查找在stackoverflow上找到了解决方法,将脚本记录如...

linux中shell脚本中awk的深入分析

  • 2011年08月06日 22:21
  • 17KB
  • 下载

shell脚本知识(三) 正则表达式 grep sed awk

1、正则表达式 匹配给定文本中的所有单词:( ?[a-zA-Z]+ ?) ?用于匹配单词前后可能出现的空格。 匹配IP地址:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{...

shell脚本编程之awk

下面是第一条awk命令 awk '{ print }' /etc/passwd执行 awk 时,它依次对 /etc/passwd 中的每一行执行 print 命令。所有输出都发送到 stdout。在s...

【shell脚本练习】grep sed awk

下面是简单学习之后做得练习题,如果有不对的,请交流啊。Grep 练习文件名grepfileSteve Blenheim:238-923-7366:95 Latham Lane, Easton, PA ...

shell脚本---grep、awk、sed工具

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep是一种查找过滤工具,正则表达式在grep中用来查找符合模式的字符串。 规定一些特殊语法表...

每天一个shell脚本之for&awk&less-2

j #!/bin/bash # for&awk.sh: 打印所有用户的配置文件 # 由Heiner Steven编写, 并由本书作者进行了修改. FILE=.profile  #...
  • armwind
  • armwind
  • 2014年09月09日 22:10
  • 1138
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Shell脚本------解析elf文件及awk基本使用
举报原因:
原因补充:

(最多只允许输入30个字)