mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-17 16:38:54 +00:00
Default to "cat" verb when none is supplied (#2060)
* Default to "cat" verb when none is supplied (#2029) Invocations like 'mlr --j2y' or 'mlr --c2p' previously failed with "no verb supplied", forcing users to type the trailing 'cat' explicitly for pure format conversions. Default the verb to 'cat' in that case. Bare 'mlr' with no flags, no verb, and no files still prints the main usage banner. This handles flag-only invocations (e.g. 'mlr --c2j < input.csv' or 'mlr --c2j --from input.csv'). File names without a preceding verb are still parsed as verb candidates and continue to error if not found; that broader change is out of scope here. * Use ${MLR} substitution for bare-mlr regression case (#2029) The regtester only substitutes the mlr executable when the cmd starts with "mlr " (with a trailing space). The bare-mlr usage-banner test had a cmd of just "mlr", so on CI -- which invokes regtest with a relative path like 'test/../mlr' -- the test shelled out to a literal 'mlr' that isn't on PATH and failed with exit 127. Switch the cmd to ${MLR} (the regtester's explicit substitution token) so the case runs the right binary in any invocation context.
This commit is contained in:
parent
16209eecf8
commit
86c8097dc2
28 changed files with 408 additions and 17 deletions
|
|
@ -66,6 +66,8 @@ See also the [Glossary](glossary.md) for more about terms such as
|
|||
|
||||
When you type `mlr {something} myfile.dat`, the `{something}` part is called a **verb**. It specifies how you want to transform your data. Most of the verbs are counterparts of built-in system tools like `cut` and `sort` -- but with file-format awareness, and giving you the ability to refer to fields by name.
|
||||
|
||||
The verb is optional: if you omit it, Miller behaves as if you had written [`cat`](reference-verbs.md#cat), which is handy for pure format conversions such as `mlr --c2j < input.csv`.
|
||||
|
||||
The verbs `put` and `filter` are special in that they have a rich expression language (domain-specific language, or "DSL"). More information about them can be found on the [Intro to Miller's Programming Language page](miller-programming-language.md); see also the [DSL Reference](reference-dsl.md) for more details.
|
||||
|
||||
Here's a comparison of verbs and `put`/`filter` DSL expressions:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue