17 个版本 (重大更改)
0.13.2 | 2023 年 7 月 6 日 |
---|---|
0.13.1 | 2022 年 12 月 5 日 |
0.13.0 | 2021 年 10 月 21 日 |
0.12.0 | 2020 年 12 月 8 日 |
0.1.0 | 2019 年 11 月 28 日 |
#680 在 命令行工具
每月 43 次下载
18KB
319 代码行
line_diff
比较两个单行文本的工具。预期用途是在某些部分不同或缺失的长行中进行比较。示例用例
- 带有许多参数和标志的长命令行
- 带有许多路径(可能顺序不同)的编译器命令
- 带有略微不同的参数的长函数声明
功能
- 多个、用户指定的分隔符
- 将所有文本转换为小写
- 在比较块之前对块进行排序
- 不同的输入选项:命令行、两个文件、单个文件或标准输入
- 关于块数和字符数的统计信息
- 将预处理的存储数据存入文件以供外部 diff 工具使用
示例输出
比较具有不同顺序的参数的不同 cargo 命令。使用 line_diff 可以轻松地发现唯一的区别是 --release 参数
Line 1:
cargo run -- -o --file f1.txt -s ",;"
Line 2:
cargo run --release -- --file f1.txt -s ",;" -o
┌────────┬────────────┬───────────┐
│ Line 1 │ Same │ Line 2 │
├────────┼────────────┼───────────┤
│ │ ",;" │ │
│ │ -- │ │
│ │ --file │ │
├────────┼────────────┼───────────┤
│ │ │ --release │
├────────┼────────────┼───────────┤
│ │ -o │ │
│ │ -s │ │
│ │ cargo │ │
│ │ f1.txt │ │
│ │ run │ │
├────────┼────────────┼───────────┤
│ 37 │ Characters │ 47 │
├────────┼────────────┼───────────┤
│ 8 │ Chunks │ 9 │
└────────┴────────────┴───────────┘
示例
比较两个来自不同输入文件的行。
line_diff f1.txt f2.txt
比较两个来自不同输入文件的行。使用 -o 选项,块在比较之前将被排序。这对于编译器标志等顺序无关的情况很有用。
line_diff f1.txt f2.txt -o
比较来自单个输入文件的两个行,并对块进行排序。使用 -s 选项指定两个不同的分隔符(' ' 和 ';')
line_diff --file f1.txt -o -s ' ' ';'
通过指定命令行上的字符串来比较两个行
line_diff --line1 "hello world" --line2 "hello there"
比较两个行,但首先将它们都转换为小写
line_diff --line1 "hello world" --line2 "Hello wOrld" -l
依赖项
~6–19MB
~209K SLoC