helpText
immutable
auto helpText =
q"EOS
Synopsis: tsv-filter [options] [file...]
Filter tab-delimited files for matching lines via comparison tests against
individual fields. Use '--help-verbose' for a more detailed description.
Global options:
--help-verbose Print full help.
--help-options Print the options list by itself.
--V|version Print version information and exit.
--H|header Treat the first line of each file as a header.
--or Evaluate tests as an OR rather than an AND clause.
--v|invert Invert the filter, printing lines that do not match.
--d|delimiter CHR Field delimiter. Default: TAB.
Operators:
* Test if a field is empty (no characters) or blank (empty or whitespace only).
Syntax: --empty|not-empty|blank|not-blank FIELD
Example: --empty 5 // True if field 5 is empty
* Test if a field is numeric, finite, NaN, or infinity
Syntax: --is-numeric|is-finite|is-nan|is-infinity FIELD
Example: --is-numeric 5 --gt 5:100 // Ensure field 5 is numeric before --gt test.
* Compare a field to a number (integer or float)
Syntax: --eq|ne|lt|le|gt|ge FIELD:NUM
Example: --lt 5:1000 --gt 2:0.5 // True if (field 5 < 1000) and (field 2 > 0.5)
* Compare a field to a string
Syntax: --str-eq|str-ne FIELD:STR
Example: --str-eq 3:abc // True if field 3 is "abc"
* Test if a field contains a string (substring search)
Syntax: --str-in-fld|str-not-in-fld|istr-in-fld|istr-not-in-fld FIELD:STR
Example: --str-in-fld 1:hello // True if field 1 contains "hello"
* Test if a field matches a regular expression.
Syntax: --regex|iregex|not-regex|not-iregex FIELD:REGEX
Example: --regex '3:ab*c' // True if field 3 contains "ac", "abc", "abbc", etc.
* Test a field's character or byte length
Syntax: --char-len-[le|lt|ge|gt|eq|ne] FIELD:NUM
--byte-len-[le|lt|ge|gt|eq|ne] FIELD:NUM
Example: --char-len-lt 2:10 // True if field 2 is less than 10 characters long.
--byte-len-gt 2:10 // True if field 2 is greater than 10 bytes long.
* Field to field comparisons - Similar to field vs literal comparisons, but field vs field.
Syntax: --ff-eq|ff-ne|ff-lt|ff-le|ff-gt|ff-ge FIELD1:FIELD2
--ff-str-eq|ff-str-ne|ff-istr-eq|ff-istr-ne FIELD1:FIELD2
Example: --ff-eq 2:4 // True if fields 2 and 4 are numerically equivalent
--ff-str-eq 2:4 // True if fields 2 and 4 are the same strings
* Field to field difference comparisons - Absolute and relative difference
Syntax: --ff-absdiff-le|ff-absdiff-gt FIELD1:FIELD2:NUM
--ff-reldiff-le|ff-reldiff-gt FIELD1:FIELD2:NUM
Example: --ff-absdiff-lt 1:3:0.25 // True if abs(field1 - field2) < 0.25
EOS";
tsv_utils tsv_filter
aliasesfunctionsstatic variablesstructsvariables