Jac*_*ary 1 macos bash grep find
我在 bash shell 中使用 grep 来查找文件中的一系列十六进制字节:
$ find . -type f -exec grep -ri "\x5B\x27\x21\x3D\xE9" {} \;
Run Code Online (Sandbox Code Playgroud)
搜索工作正常,尽管我知道在不使用-a仅返回结果的选项时匹配存在限制:
Binary file ./file_with_bytes matches
Run Code Online (Sandbox Code Playgroud)
我想获取匹配结果的偏移量,这可能吗?我愿意使用另一个类似的工具,我只是不确定它会是什么。
实际上 grep 中有一个选项可以使用
-b --byte-offset Print the 0-based byte offset within the input file
Run Code Online (Sandbox Code Playgroud)
使用此选项的简单示例:
$ grep -obarUP "\x01\x02\x03" /bin
Run Code Online (Sandbox Code Playgroud)
打印出目录内匹配模式的文件名和字节偏移量
/bin/bash:772067:
/bin/bash:772099:
/bin/bash:772133:
/bin/bash:772608:
/bin/date:56160:
Run Code Online (Sandbox Code Playgroud)
请注意,find实际上不需要,因为该选项-r已经处理了递归文件搜索
| 归档时间: |
|
| 查看次数: |
4256 次 |
| 最近记录: |