| Crates.io | rusht |
| lib.rs | rusht |
| version | 1.3.0 |
| created_at | 2022-06-29 20:21:13.51806+00 |
| updated_at | 2025-09-08 21:16:06.088212+00 |
| description | Shell commands written in Rust |
| homepage | https://github.com/mverleg/rusht |
| repository | |
| max_upload_size | |
| id | 615676 |
| size | 594,730 |
Small shell utilities coded in Rust.
Clone, build and install:
git clone https://github.com/mverleg/rusht /tmp/rusht || cd /tmp/rusht ; git pull
cargo install --bins --all-features --path /tmp/rusht
Or in minified mode:
RUSTFLAGS="-C target-cpu=native" cargo +nightly install -Z build-std=std,panic_abort --target "$(rustc -vV | grep host | sed -E 's/.*: (.*)/\1/')" --path .
Each of these has its own --help for more info
cached Cache the output of a command for a given duration, running it only if there is no cache or it has expired. Stderr is only shown on first run.unique Remove any duplicate lines, keeping the first match and preserving order unless sorting is requested.namesafe Convert each line to a string that is safe for names (no whitespace or special characters, not too long).mon Log the command, the outcome, timings and play a sound.grab Filter lines by regular expression, keeping only the matching capture group.dir_with / files_with Find directories or files that contain certain files or directories.cmadd, cmdo, cmlist, cmdrop - push commands onto a stack, directly or from output, and run them one by one or all at once.cmbuf Read input, build commands and buffer them, then run them all. Somewhat like xargs. See also cmadd, cmdo, cmlist, cmdropdir_with Find directories that contain certain files or directories.files_with Find files that match certain patterns.unique Remove any duplicate lines, keeping the first match and preserving order unless sorting is requested.filter Run a test command for each line, keeping the file if the command succeedspomp Parse a tiny subset of pomfiles.piped Split into two commands, and pipe the output of the first into the second.batched Split stdin into groups of N lines, and pass them to the commandjl A mix of ls and find that outputs json (use jq)between Select all lines between two matches