#搜索 #搜索模式 #模式 #字节序列 #grep #二进制 #ASCII 文本

bin+lib grep_bin

递归搜索目录或多个文件中的字节序列或 ASCII 字符串

8 个稳定版本

2.0.0 2022 年 3 月 2 日
1.2.1 2021 年 12 月 22 日
1.1.1 2021 年 11 月 26 日
1.0.0 2021 年 8 月 3 日
0.1.0 2021 年 8 月 3 日

#2758命令行工具

Download history 30/week @ 2024-03-29 11/week @ 2024-04-05 8/week @ 2024-04-12 27/week @ 2024-04-19 11/week @ 2024-04-26 19/week @ 2024-05-03 11/week @ 2024-05-17 5/week @ 2024-05-24 56/week @ 2024-05-31 53/week @ 2024-06-07 5/week @ 2024-06-14 30/week @ 2024-06-21 136/week @ 2024-06-28 16/week @ 2024-07-05 304/week @ 2024-07-12

486 每月下载量

自定义许可证

20KB
388 代码行

grep_bin

grep_bin 可以递归搜索目录或多个文件中的字节序列或 ASCII 字符串。

用法

在文件中搜索字节序列

$grep_bin fffe test.bin

递归搜索目录中的字节序列

$grep_bin FFFE~/Downloads

过滤文件类型

$grep_bin -fmp3 FFfe0000~/Downloads

在二进制中搜索 ASCII 字符串

$grep_bin'"Hello World"'test.bin

搜索包含引号的 ASCII 字符串:$ grep_bin '"This is a \"quote\""' test.bin

在多个文件中搜索字节序列

$grep_bin fFFe test1.bin test2.bin

指定输出中每行的字节数

$ grep_bin -c 32 "information" README.md

输出

README.md
00000320:  73 20 68 65 6C 70 20 69  6E 66 6F 72 6D 61 74 69  6F 6E 0A 0A 20 20 20 20  2D 56 2C 20 2D 2D 76 65   |s help information..    -V, --ve|
00000360:  73 69 6F 6E 20 69 6E 66  6F 72 6D 61 74 69 6F 6E  0A 0A 0A 4F 50 54 49 4F  4E 53 3A 0A 20 20 20 20   |sion information...OPTIONS:.    |
  • 加粗的字符表示匹配的彩色文本

帮助

$ grep_bin -h

grep_bin 2.0.0
LaBatata101 <[email protected]>
Searches recursively a directory or multiple files for a sequence of bytes or ASCII string.

USAGE:
    grep_bin [OPTIONS] <PATTERN> <FILE>...

ARGS:
    <PATTERN>    Ascii strings should be passed inside quotes like so '"This is a string"'
                 Escaping quotes '"This is a \"quoted string\""'
                 All of these byte sequence are valid: f9b4ca, F9B4CA and f9B4Ca
    <FILE>...    The filepath

OPTIONS:
    -c <context_bytes_size>        Defines the number of bytes that will be printed in each line.
                                   [default: 16]
    -f <filetype>                  Filter the search by the file extensions.
                                   Examples of input: jpg, mp3, exe
    -h, --help                     Print help information
    -o, --print-offset             Prints only the offsets of the match.
    -p, --print-only               Prints only the filename that contais the match.
    -s, --skip-bytes <n>           Skip n bytes before searching. [default: 0]
    -V, --version                  Print version information

手动构建

依赖

  • rustc(最新版本)
  • cargo

$git clone https://github.com/LaBatata101/grep_bin

$cd grep_bin/

$cargo build --release

最终的二进制文件将在 target/release/

使用 Cargo 安装

cargoinstall grep_bin

依赖

~2MB
~25K SLoC