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 在 命令行工具
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