recsel

Print records from a recfile: a human-editable, plain text database.

TLDR

Extract name and version field

$ recsel -p name,version [data.rec]
copy


Use "~" to match a string with a given regular expression
$ recsel -e "[field_name] ~ '[regular_expression]' [data.rec]"
copy


Use a predicate to match a name and a version
$ recsel -e "name ~ '[regular_expression]' && version ~ '[regular_expression]'" [data.rec]
copy

SYNOPSIS

recsel [OPTION]... [-t TYPE] [-j FIELD] [-n INDEXES | -e RECORD_EXPR | -q STR | -m NUM] [-c | (-p|-P) FIELD_EXPR] [FILE]...

DESCRIPTION

Select and print rec data.

-d, --include-descriptors

print record descriptors along with the matched records.

-C, --collapse

do not section the result in records with newlines.

-S, --sort=FIELD,...

sort the output by the specified fields.

-G, --group-by=FIELD,...

group records by the specified fields.

-U, --uniq

remove duplicated fields in the output records.

-s, --password=STR

decrypt confidential fields with the given password.

--help

print a help message and exit.

--version

show version and exit.

Record selection options:

-i, --case-insensitive

make strings case-insensitive in selection expressions.

-t, --type=TYPE

operate on records of the specified type only.

-e, --expression=RECORD_EXPR

selection expression.

-q, --quick=STR

select records with fields containing a string.

-n, --number=NUM,...

select specific records by position, with ranges.

-m, --random=NUM

select a given number of random records.

-j, --join=FIELD

perform an inner join using the specified field.

Output options:

-p, --print=FIELDS

comma-separated list of fields to print for each matching record.

-P, --print-values=FIELDS

as -p, but print only the values of the selected fields.

-R, --print-row=FIELDS

as -P, but separate the values with spaces instead of newlines.

-c, --count

print a count of the matching records instead of the records themselves.

Special options:

--print-sexps

print the data in sexps instead of rec format.

REPORTING BUGS

Report bugs to: bug-recutils@gnu.org
GNU recutils home page: <http://www.gnu.org/software/recutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2010-2019 Jose E. Marchesi. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for recsel is maintained as a Texinfo manual. If the info and recsel programs are properly installed at your site, the command info recutils should give you access to the complete manual.

AUTHOR

Written by Jose E. Marchesi.

Copied to clipboard