choose-rust
brew install choose-rust
v1.3.7
GPL-3.0-or-later
Human-friendly and fast alternative to cut and (sometimes) awk
58
30-day installs · #4367
202
90-day · #4182
1.1k
365-day · #3628
2.2k
★ GitHub stars · updated 2mo ago
Build dependencies
Links
- https://github.com/theryangeary/choose
- GitHub: theryangeary/choose
- Brew formula source: Formula/c/choose-rust.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"rust"
],
"categories": [],
"caveats": null,
"conflicts_with": [
"choose-gui"
],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Human-friendly and fast alternative to cut and (sometimes) awk",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:22+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "choose-rust",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-11T13:02:35Z",
"github_readme_excerpt": "# Choose\n\nThis is `choose`, a human-friendly and fast alternative to `cut` and (sometimes) `awk`\n\n[](https://asciinema.org/a/315932?autoplay=1)\n\n## Features\n\n- terse field selection syntax similar to Python\u0027s list slices\n- negative indexing from end of line\n- optional start/end index\n- zero-indexed\n- reverse ranges\n- slightly faster than `cut` for sufficiently long inputs, much faster than\n `awk`\n- regular expression field separators using Rust\u0027s regex syntax\n\n## Rationale\n\nThe AWK programming language is designed for text processing and is extremely\ncapable in this endeavor. However, the `awk` command is not ideal for rapid\nshell use, with its requisite quoting of a line wrapped in curly braces, even\nfor the simplest of programs:\n\n```bash\nawk \u0027{print $1}\u0027\n```\n\nLikewise, `cut` is far from ideal for rapid shell use, because of its confusing\nsyntax. Field separators and ranges are just plain difficult to get right on the\nfirst try.\n\nIt is for these reasons that I present to you `choose`. It is not meant to be a\ndrop-in or complete replacement for either of the aforementioned tools, but\nrather a simple and intuitive tool to reach for when the basics of `awk` or\n`cut` will do, but the overhead of getting them to behave should not be\nnecessary.\n\n## Contributing\n\nPlease see our guidelines in [contributing.md](contributing.md).\n\n## Usage\n\n```\n$ choose --help\nchoose 1.2.0\n`choose` sections from each line of files\n\nUSAGE:\n choose [FLAGS] [OPTIONS] \u003cchoices\u003e...\n\nFLAGS:\n -c, --character-wise Choose fields by character number\n -d, --debug Activate debug mode\n -x, --exclusive Use exclusive ranges, similar to array indexing in many programming languages\n -h, --help Prints help information\n -n, --non-greedy Use non-greedy field separators\n -V, --version Prints version information\n\nOPTIONS:\n -f, --field-separator \u003cfield-separator\u003e\n Specify fie",
"github_repo": "theryangeary/choose",
"github_stars": 2238,
"github_topics": [],
"homepage": "https://github.com/theryangeary/choose",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 58,
"installs_365d": 1137,
"installs_90d": 202,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-3.0-or-later",
"llm_generated_at": null,
"llm_model": null,
"name": "choose-rust",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 4367,
"rank_365d": 3628,
"rank_90d": 4182,
"raw_hash": "e756b78656831845",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/c/choose-rust.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "1.3.7",
"versioned_formulae": [],
"why_use_this": null
}