rg (ripgrep 15.2), grep (ours, on ripgrep's regex crates), find and xargs (ours), sed (uutils 0.3 wrapper), diff and cmp (uutils diffutils 0.6 with -r), fd 10.5, jaq 2.3, env and timeout. userland/spawn is a small Command-like client of the process interface. search-test.nu: 42 cases match native tools.
62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
[](https://crates.io/crates/diffutils)
|
|
[](https://discord.gg/wQVJbvJ)
|
|
[](https://github.com/uutils/diffutils/blob/main/LICENSE)
|
|
[](https://deps.rs/repo/github/uutils/diffutils)
|
|
[](https://codspeed.io/uutils/diffutils?utm_source=badge)
|
|
|
|
[](https://codecov.io/gh/uutils/diffutils)
|
|
|
|
The goal of this package is to be a drop-in replacement for the [diffutils commands](https://www.gnu.org/software/diffutils/) (diff, cmp, diff3, sdiff) in Rust.
|
|
|
|
Based on the incomplete diff generator in https://github.com/rust-lang/rust/blob/master/src/tools/compiletest/src/runtest.rs, and made to be compatible with GNU's diff and patch tools.
|
|
|
|
|
|
## Installation
|
|
|
|
Ensure you have Rust installed on your system. You can install Rust through [rustup](https://rustup.rs/).
|
|
|
|
Clone the repository and build the project using Cargo:
|
|
|
|
```bash
|
|
git clone https://github.com/uutils/diffutils.git
|
|
cd diffutils
|
|
cargo build --release
|
|
```
|
|
|
|
## Example
|
|
|
|
```bash
|
|
|
|
cat <<EOF >fruits_old.txt
|
|
Apple
|
|
Banana
|
|
Cherry
|
|
EOF
|
|
|
|
cat <<EOF >fruits_new.txt
|
|
Apple
|
|
Fig
|
|
Cherry
|
|
EOF
|
|
|
|
$ cargo run -- diff -u fruits_old.txt fruits_new.txt
|
|
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
|
|
Running `target/debug/diffutils -u fruits_old.txt fruits_new.txt`
|
|
--- fruits_old.txt
|
|
+++ fruits_new.txt
|
|
@@ -1,3 +1,3 @@
|
|
Apple
|
|
-Banana
|
|
+Fig
|
|
Cherry
|
|
|
|
```
|
|
|
|
## License
|
|
|
|
This project is distributed under the terms of both the MIT license and the
|
|
Apache License (Version 2.0).
|
|
|
|
See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT), and
|
|
[COPYRIGHT](COPYRIGHT) for details.
|