🍺 BREW Explorer

← all formulae

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

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[![`choose` demo](https://asciinema.org/a/315932.png)](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
}