grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?

最大的社区版本,Ubuntu的发源地
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?

#1

帖子 科学之子 » 2016-02-07 16:40

grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
Sun Feb 7 19:31:38 CST 2016补充:
又仔细搜索并检查相关资料:
--byte-offset虽然宣称是字节偏移,但实测发现只是显示行号?

Tue Feb 9 16:54:11 CST 2016补充:
原来-b参数要配合-o参数才能显示匹配串偏移,否则显示的是所在行首偏移位置
-o参数输出时只显示匹配的部分,而非显示整个行
上次由 科学之子 在 2016-02-09 16:53,总共编辑 1 次。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?

#2

帖子 vickycq » 2016-02-08 10:14

科学之子 写了:又仔细搜索并检查相关资料:
--byte-offset虽然宣称是字节偏移,但实测发现只是显示行号?
不会吧?....

代码: 全选

$ cat .bashrc | grep -aob 'use_color'
5971:use_color
6371:use_color
6393:use_color
7393:use_color

$ echo "cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0" | grep -aob 'ttyUSB'
7:ttyUSB
55:ttyUSB
参考
http://unix.stackexchange.com/questions ... using-grep
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?

#3

帖子 科学之子 » 2016-02-09 16:12

vickycq 写了:
科学之子 写了:又仔细搜索并检查相关资料:
--byte-offset虽然宣称是字节偏移,但实测发现只是显示行号?
不会吧?....

代码: 全选

$ cat .bashrc | grep -aob 'use_color'
5971:use_color
6371:use_color
6393:use_color
7393:use_color

$ echo "cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0" | grep -aob 'ttyUSB'
7:ttyUSB
55:ttyUSB
参考
http://unix.stackexchange.com/questions ... using-grep
感谢回复,新年快乐.
仔细测试和看文档发现
是所在行的首字节偏移
但并非匹配串的偏移位置.我的问题用grep无解了?有其它命令代替?
Tue Feb 9 16:20:04 CST 2016补充:
仔细看了看,好像还是有解

Tue Feb 9 16:23:29 CST 2016:
确定有解了
原来加上-o参数就好
如果是二进制文件,就加上-a
单纯使用-b仅仅是行匹配,就是显示匹配串所在行的首位置
回复