参考:http://stackoverflow.com/questions/14141008/grep-offset-of-ascii-string-from-binary-file

strings -a -t x filename | grep foobar
daniel@daniel-mint ~/latex/linux/itext/daniel $ hexdump -C asm_daniel_obj_2.bin
00000000 32 20 30 20 6f 62 6a 0a 3c 3c 2f 4c 65 6e 67 74 |2 0 obj.<</Lengt|
00000010 68 20 39 36 2f 46 69 6c 74 65 72 2f 46 6c 61 74 |h 96/Filter/Flat|
00000020 65 44 65 63 6f 64 65 3e 3e 73 74 72 65 61 6d 0a |eDecode>>stream.|
00000030 78 9c 2b e4 72 0a e1 32 36 53 30 33 34 52 08 49 |x.+.r..26S034R.I|
00000040 e1 32 50 d0 35 b4 00 31 f4 dd 0c 15 40 42 69 5c |.2P.5..1....@Bi\|
00000050 1a 1e a9 39 39 f9 0a e1 f9 45 39 29 8a 0a 10 4e |...99....E9)...N|
00000060 40 6a 7e 41 4e 2a 8c 17 9c 5d 09 67 96 e6 c1 98 |@j~AN*...].g....|
00000070 be f9 f9 30 b6 66 48 16 d0 64 03 14 0b 34 82 4b |...0.fH..d...4.K|
00000080 12 8b 8a 15 91 a4 5c 43 b8 02 b9 00 fc 98 26 ef |......\C......&.|
00000090 0a 65 6e 64 73 74 72 65 61 6d 0a 65 6e 64 6f 62 |.endstream.endob|
000000a0 6a 0a |j.|
000000a2

  

  

daniel@daniel-mint ~/latex/linux/itext/daniel $ grep -Ubo --binary-file=text stream asm_daniel_obj_2.bin
41:stream
148:stream

  

查找单个字符

daniel@daniel-mint ~/latex/linux/itext/daniel $ hexdump -v -e "1/1 \" %02x\n\"" asm_daniel_obj_2.bin | grep -n '0a'
8: 0a
48: 0a
54: 0a
87: 0a
94: 0a
145: 0a
155: 0a
162: 0a

  

linux在二进制文件中查找pattern的offset的更多相关文章

  1. linux strings-在对象文件或二进制文件中查找可打印的字符串

    推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 strings命令在对象文件或二进制文件中查找可打印的字符串.字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束. str ...

  2. strings---对象文件或二进制文件中查找可打印的字符串

    strings命令在对象文件或二进制文件中查找可打印的字符串.字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束. strings命令对识别随机对象文件很有用. 语法 strings [ - ...

  3. Linux 在文件中查找某字符串

    命令: grep 'word' filename 在多个文件中查找: grep 'word' file1 file2 file3 更多用法参考:https://www.howtoforge.com/t ...

  4. linux所有文件中查找关键字的命令

     grep 192.168.1.1 * -r    在所有文件中查找192.168.1.1

  5. Linux在目录中查找某个函数

    1,在某个路径下查文件. 在/etc下查找“*.log”的文件 find /etc -name “*.log” 2,扩展,列出某个路径下所有文件,包括子目录. find /etc -name “*” ...

  6. Linux系统中查找、删除重复文件,释放磁盘空间。

    在Linux系操作系统中查找并删除重复文件的方法的确有很多,不过这里介绍的是一款非常简单实用的软件FSlint.FSlint是一个重复文件查找工具,可以使用它来清除不必要的重复文件,笔者经常使用它来释 ...

  7. linux日志中查找关键字、前几行、结尾几行,Linux的find用法示例

    linux在日志中查找关键字.前几行.结尾几行,Linux的find用法示例 1.linux在日志中查找关键字.前几行.结尾几行 1.1查看日志 前 n行: 1.2查看日志 尾 n行: 1.3根据 关 ...

  8. [转]grep 在文本中查找内容

    转自: http://www.lampweb.org/linux/3/27.html 功能:grep系列是Linux中使用频率最高的文本查找命令.主要功能在一个或者多个文件中查找特定模式的字符串.如果 ...

  9. linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总

    (一)find命令详解 find:功能:文件搜索: 语法:find[搜索范围][匹配条件]:  只要匹配条件完全符合才可以被显示,使用通配符*匹配条件*则可以显示匹配条件的所有目录,问号?匹配单个字符 ...

随机推荐

  1. 应该用forEach改变数组的值吗? 原生JS forEach()和map()遍历的异同点

    应该用forEach改变数组的值吗? https://segmentfault.com/q/1010000013170900?utm_source=index-hottest 由于js中的数组是引用类 ...

  2. python常用模块----re模块

    正则表达式就是匹配字符串内容的一种规则. 字符组: [0123456789] 表示0-9这个范围内的任意一个数字都可以与之匹配,简写为[0-9] [a-z] 表示匹配所有的小写字母 [A-Z] 表示匹 ...

  3. SQL server 聚集索引与主键的区别

    主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引. 所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引. 例如下面: ...

  4. MySQL的数据类型:文本、数字、日期/时间

    在MySQL中,有三种主要的类型:文本.数字和日期/时间类型. 文本类型(text):数据类型                                 描述 CHAR(size) 保存固定长度 ...

  5. ORACLE USER视图

    select  *  from  USER_ALL_TABLES  -- 包含对用户可用的表的描述. select  *  from USER_ARGUMENTS  --列出对用户可存取的对象中的参数 ...

  6. c#模板化生成接口

    最近打算做这样一个事情,一个桌面系统项目既可以一体化部署,作为一个软件一个进程部署,也可以把业务服务化部署. 那一般意味着我们要完全写2套东西,一套是直接UI调用业务,一套是Ui调用RPC.这样比较多 ...

  7. PCA算法和实例

    PCA算法 算法步骤: 假设有m条n维数据. 1. 将原始数据按列组成n行m列矩阵X 2. 将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 3. 求出协方差矩阵C=1/mXXT 4. ...

  8. 微信小程序(4)--二维码窗口

    微信小程序二维码窗口: <view class="btn" bindtap="powerDrawer" data-statu="open&quo ...

  9. OpenStack虚拟机网络问题

    当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤   1. Security Group全部打开,这是最基本的,但是很多人容易忘记 其实遇到过无数这种场景了,Debug了半天网络 ...

  10. Python3.5-20190521-廖老师-自我笔记-单元测试

    执行结果