22 releases (14 breaking)
0.15.0 | Nov 21, 2024 |
---|---|
0.13.0 | Oct 10, 2024 |
0.8.2 | Jul 25, 2024 |
#1077 in Command line utilities
173 downloads per month
24KB
420 lines
word-tally
Output a tally of the number of times unique words appear in source input.
Usage
Usage: word-tally [OPTIONS] [PATH]
Arguments:
[PATH] File path to use as input rather than stdin ("-") [default: -]
Options:
-s, --sort <ORDER> Sort order [default: desc] [possible values: desc, asc, unsorted]
-c, --case <FORMAT> Case normalization [default: lower] [possible values: original, upper, lower]
-m, --min-chars <COUNT> Exclude words containing fewer than min chars
-M, --min-count <COUNT> Exclude words appearing fewer than min times
-e, --exclude <WORDS> Exclude words from a comma-delimited list
-d, --delimiter <VALUE> Delimiter between keys and values [default: " "]
-o, --output <PATH> Write output to file rather than stdout
-v, --verbose Print verbose details
-h, --help Print help
-V, --version Print version
Examples
> word-tally README.md | head -n3
tally 22
word 20
https 11
> word-tally --delimiter="," --output="tally.csv" README.md
Installation
cargo install word-tally
Cargo.toml
Add word-tally
as a dependency.
[dependencies]
word-tally = "0.15.0"
Or optionally enable JSON serialization and deserialization with Serde.
[dependencies]
word-tally = { version = "0.15.0", features = ["serde"] }
Documentation
Tests & benchmarks
Clone the repository.
git clone https://github.com/havenwood/word-tally
cd word-tally
Run the tests.
cargo test
Or run the tests with the Serde feature included.
cargo test --features serde
And run the benchmarks.
cargo bench
Dependencies
~2.3–3.5MB
~57K SLoC