grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
Sun Feb 7 19:31:38 CST 2016补充:
又仔细搜索并检查相关资料:
--byte-offset虽然宣称是字节偏移,但实测发现只是显示行号?
Tue Feb 9 16:54:11 CST 2016补充:
原来-b参数要配合-o参数才能显示匹配串偏移,否则显示的是所在行首偏移位置
-o参数输出时只显示匹配的部分,而非显示整个行
grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
-
- 帖子: 2284
- 注册时间: 2013-05-26 6:58
- 系统: Debian 9
grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
上次由 科学之子 在 2016-02-09 16:53,总共编辑 1 次。
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
不会吧?....科学之子 写了:又仔细搜索并检查相关资料:
--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 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 2284
- 注册时间: 2013-05-26 6:58
- 系统: Debian 9
Re: grep如何输出已匹配串的起始位置(即相对文件头的偏移量)?
感谢回复,新年快乐.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仅仅是行匹配,就是显示匹配串所在行的首位置